নন-প্রোগ্রামারগুলিকে এমভিসি ব্যাখ্যা করুন [বন্ধ]


31

নন-প্রোগ্রামারগুলিকে আমার এমভিসি ব্যাখ্যা করার দরকার আছে। যথা, অগ্রগতি প্রতিবেদনের প্রসঙ্গে অন্যান্য বিভাগের পরিচালকদের কাছে to আমি যা করি তার মধ্যে একটি হ'ল এমভিসি বিভাজনের দিকে আমাদের কোডবেস রিফেক্টর।

তারা জিজ্ঞাসা করতে পারে এমভিসি বিচ্ছেদ কী? কেন তারা এটি জিজ্ঞাসা করা প্রয়োজন?

এর মতো মোটামুটি প্রযুক্তিগত উত্তর পড়ার পরে: এমভিসি আসলে কী? , আমি পুরোপুরি সন্তুষ্ট নই, যেহেতু আমি নন-প্রোগ্রামারদের সাথে কথা বলব। তারা তাদের মাথা ঝুঁকতে পারে তবে তারা এটি বুঝতে পারে না এটি কী এবং কেন এটি প্রয়োজন।

বাস্তবে, "সফ্টওয়্যারটিতে পরিবর্তন আনার নমনীয়তার উন্নতি করার জন্য" উদ্বেগ, কর্তব্য, ফাংশন, শ্রেণি, ব্লক, কার্যাদি, বিষয়গুলির পৃথকীকরণ ব্যতীত এমভিসি অন্যটি কী তা আমি পুরোপুরি উপলব্ধি করতে পারি না। ডিআই এবং ওও সরঞ্জাম এবং কৌশলগুলির মতো কৌশলগুলি ব্যবহার করে ব্যবসায়িক যুক্তি থেকে দর্শন এবং দর্শনকে পৃথক করা এমন একটি বিষয় যা আমি এমভিসি বিভাজন হিসাবে বিবেচনা করি।

সুতরাং পরের বার আপনি কোনও নন-প্রোগ্রামারকে এমভিসির ব্যাখ্যা দিচ্ছেন যার বিক্রয় এবং অ্যাকাউন্টিংয়ের ব্যাকগ্রাউন্ড রয়েছে, আপনি তাদের কী বলবেন?



12
বলুন যে এটি "সেরা অনুশীলন" এবং তারা খুশি হবে।
জোহান

2
যদি আমাকে এটিকে সরল ভাষায় বর্ণনা করতে হয়, তবে আমি এটিকে একটি আর্কিটেকচার প্যাটার্ন হিসাবে বর্ণনা করব যা উদ্বেগের বিভাজনকে কেন্দ্র করে - এটি ফলস্বরূপ, অগ্রণী বিকাশকারীদের সম্মুখভাগে ফোকাস করতে দেয়, ব্যাকএন্ড বিকাশকারীদের ব্যাকএন্ড এবং ডাটাবেস বিকাশকারীদের উপর ফোকাস করতে দেয় একে অপরকে যতটা ভিন্ন কাঠামোগত সিস্টেমে করা উচিত তেমন বিরক্ত না করে ডাটাবেসে ফোকাস করুন।
থিওডোরোস চ্যাটজিগিয়ানানাকিস

2
আপনি কীভাবে ব্যাখ্যা করবেন, আপনি যদি এটি পুরোপুরি না জেনে থাকেন তবে এটি কী?
BЈовић

আমি মনে করি শিল্প বিপ্লবের বিনিময়যোগ্য অংশগুলির সাথে সম্ভবত একটি সাদৃশ্য তৈরি করা যেতে পারে ... অবশ্যই তারা ড্রিল করতে সক্ষম হবে এবং 1 / 4-20 গর্তটি ট্যাপ করতে পারবে কিনা তা নিয়ে চিন্তা না করেই তারা বুঝতে পারে the বল্টু মানাবে।
জে ...

উত্তর:


70

আপনি এমভিসি ব্যাখ্যা করেন না।

আপনি যা করেন তা বোঝানো হচ্ছে যে এটি কোডবেজের একটি পুনর্গঠন।

একটি পুনর্গঠন যা কোডবেসকে সহজতর করে এবং তাই বগ প্রতিবেদন এবং বৈশিষ্ট্য অনুরোধগুলিতে কম বাগ সহ দ্রুত এবং উন্নততর পরিবর্তনগুলি বিকাশকারীদের সক্ষম করে।

তাদের প্রযুক্তিগত বিশদ জানার দরকার নেই, কেবল এটি কেন করা হয়েছিল, এটি করে কী অর্জন করা হয়েছিল এবং কীভাবে ব্যবসায়ের উপকার হয়।

অন্য কথায় - তাদের সাথে তাদের ভাষা বলুন।


13
আইডাব্লু এমভিসিতে পুনর্গঠনের প্রয়োজনীয়তার ব্যাখ্যা দেয় (এটি দুর্দান্ত: তাদের সাথে তাদের ভাষা বলুন )
ওল্ফ

4
কোড-বেসগুলিতে উদ্বেগের যথাযথ বিচ্ছেদ থাকলে বাগ-ফিক্সগুলি এবং বৈশিষ্ট্যগুলির অনুরোধগুলি দ্রুত (সস্তায়) হত এমন ক্ষেত্রে উল্লেখ করা প্রায়শই সহায়ক।
এরিক উইলসন

14
আমি মনে করি যে পরবর্তী লাফানো ফলপ্রসূ হবে এবং পরামর্শ দেওয়া হচ্ছে যে ভাষাটি কথিত হচ্ছে $ £ ¥ € ƒруб ƒруб আপনি যদি এটি একটি নন-প্রোগ্রামারকে ব্যাখ্যা করে থাকেন তবে এটি সম্ভবত কোনও ব্যবসায়িক প্রসঙ্গে রয়েছে এবং সম্ভবত এটি "অর্থ কোথায় যাচ্ছে" তে উঠে যায় তা সম্ভবত?
জোয়েল ইথারটন

এটি তাদের জানা কোনও কিছুর সাথে তুলনা করতে সহায়তা করতে পারে। "অ্যাকাউন্টিং সম্প্রদায় যে সম্মেলনগুলি স্থির করেছে, এরকম ধরণের আমরা ব্যাপকভাবে গৃহীত সাংগঠনিক নীতিগুলির সাথে মেলে এটির পুনর্গঠন করছি" "
নাথান

41

আমি ওডেদের উত্তরের সংক্ষিপ্ত বিবরণটি সমর্থন করার সময় , আপনার ব্যবসায়িক পরিচালকদের "তাদের ভাষায়," আমার সম্পর্কে একটি উচ্চারণ আছে "এ কারিগরি প্রকল্পগুলি ব্যাখ্যা করা উচিত, কেন এটি করা হয়েছিল তা কেন তাদের প্রযুক্তিগত বিশদ জানার দরকার নেই।

আপনি যদি কোনও প্রকল্পে থাকেন বা বিভাগের প্রধানদের সাথে বিনিয়োগ পর্যালোচনা বৈঠকে থাকেন এবং আপনি ঘোষণা করেন যে "এটি আমরা যা করছি," তারা জিজ্ঞাসা করতে পারে "উম্ম ... কেন? এটি সময় এবং শক্তির একটি বড় বিনিয়োগের মতো বলে মনে হয়। আপনি কি করছেন এবং কেন আপনি কিছুটা আমাদের বোঝাতে পারেন? " এটি একটি বিশিষ্ট যুক্তিসঙ্গত প্রশ্ন বলে মনে হচ্ছে। আপনি "ভাল ... এটি জটিল" এর অবস্থানটিতে ধরা পড়তে চান না। বা "না, আমি সত্যিই এটি ব্যাখ্যা করতে পারি না।" বা "এ সম্পর্কে নিজেকে উদ্বিগ্ন করবেন না।" আপনি প্রকল্পের পর্যালোচনাটি যত সিনিয়র স্টাফের জন্য করছেন, তাদের উড়ে যাওয়ার সম্ভাবনা তত কম হবে "এটাই কেবলমাত্র আমি ভালভাবে ব্যাখ্যা করতে পারি না" উড়তে দেয়। অন্যকে স্বাচ্ছন্দ্য বোধ করার জন্য আপনি কমপক্ষে এক স্তরের গভীর দিকে যেতে পারলে আরও ভাল যে 1) আপনি কী জানেন

সুতরাং, আপনার হিপ পকেটে এমভিসির স্কেচ রাখুন, যেতে প্রস্তুত। কিছুটা এইরকম:

"এটি কিছুটা প্রযুক্তিগত, তবে ... এমভিসি কোডগুলিকে মডেলগুলিতে বিভক্ত করে (মূল তথ্য এবং ব্যবসায়িক যুক্তির জন্য দায়ী), ভিউ (যা ডেটা প্রদর্শন করে) এবং কন্ট্রোলার (যা ব্যবহারকারীদের ইন্টারঅ্যাকশন এবং আপডেটগুলি পরিচালনা করে) এটি একটি প্রমাণিত আর্কিটেকচার- সম্ভবতঃ সফটওয়্যার ইঞ্জিনিয়ারিংয়ের সবচেয়ে সফল "ডিজাইন প্যাটার্ন।" আমি জানি এটি "কেবল কিছু নদীর গভীরতানির্ণয়" বলে মনে হতে পারে তবে আগত সমস্ত অনুরোধগুলি পরিচালনা করার জন্য আমাদের আরও শক্তিশালী ভিত্তি প্রয়োজন new এটি আমাদের নতুন নির্মাণের জন্য ডান পাতায় রাখবে new বৈশিষ্ট্য এবং দ্রুত বাগ সমাধান করুন। "

এমনকি তারা এমভিসি এর শেষে সম্পূর্ণরূপে বুঝতে না পারলেও, এবং এটিকে বোঝার যোগ্য করার জন্য আপনাকে অতিরিক্ত-সরল করতে হয়েছিল ("ওমেলেট তৈরির জন্য কিছু ডিম ভাঙা"), আমি বাজি ধরছি যে আপনি এটি আরও বেশি স্বাচ্ছন্দ্য বোধ করবেন সিনিয়র ম্যানেজারদের কাছে "আমি এটি ব্যাখ্যা করতে পারি না" বা "আপনি এটি বোঝার যোগ্য নন" বলার চেয়ে একটি ব্যাখ্যা প্রস্তুত রয়েছে ready


4
So, have a sketch of MVC in your hip pocket, ready to go.- বা সম্ভবত একটি পিপি উপস্থাপনা ;-) ব্যবহারকারী হিসাবে "তাদের ভাষা"?
নেকড়ে

আমি এটি বলব না যে "মডেলগুলি মূল ডেটা এবং ব্যবসায়িক যুক্তির জন্য দায়ী," মোটেই না। ব্যবসায়ের যুক্তি সর্বোত্তমভাবে তার নিজস্ব স্তরে পৃথক রাখা হয়। প্রকৃতপক্ষে, মডেলগুলি হ'ল নিয়ন্ত্রক থেকে ভিউতে প্রবেশ করা কেবলমাত্র এই দুটি স্তরকে দ্বিগুণ করতে data উদাহরণস্বরূপ, আপনি প্রায়শই কখনও কোনও ভিউতে একটিও ওআরএম বস্তুটি পাস করেন না, তবে সেগুলির একটি সেট, এবং কিছু অন্যান্য বিবিধ ডেটা। একটি দীর্ঘ ব্যাখ্যা জন্য আমার উত্তর দেখুন।
টোবিয়া

2
@ টোবিয়া মাইক্রোসফ্ট একে একে মডেল বলে। "দ্য" মডেলটি ব্যবহারকারী যে সিস্টেমের সাথে ইন্টারেক্ট করে তার প্রেজেন্টেশন-অজোনস্টিক কম্পিউটার মডেল, তাই দেখার এবং নিয়ামকের অংশ নয় এমন সবকিছুই pretty
ডোভাল

@ ডোভাল এটি মাইক্রোসফ্টের ব্যাখ্যা হতে পারে, তবে এটি এমভিসির সাধারণতার একটি সীমাবদ্ধতা। আমার অর্থ কী তা দেখার জন্য চটপটি এমভিসি ফ্রেমওয়ার্কগুলি যেমন রুবে অন রেলস, জ্যাঙ্গো বা গ্রিলস এ দেখুন। এই সাধারণ ভুল বোঝাবুঝিটি coverাকতে আমি আমার উত্তর আরও কিছুটা প্রসারিত করেছি।
টোবিয়া

3
মূল স্মলটাক এমভিসি প্যাটার্নে, স্ক্রিনের প্রতিটি নিয়ন্ত্রণের নিজস্ব মডেল, ভিউ এবং নিয়ামক ছিল। এমবিসি-এর একক সংজ্ঞা আছে যে প্রত্যেকে তাতে সম্মত হয় সে ভান করা যাক না। ভাগ্যক্রমে, তাকে কেবল সে কী করছে তা বোঝাতে হবে।
রিমকো জারলিচ

9

সফ্টওয়্যার পরিবর্তন করার নমনীয়তা উন্নত করার জন্য

পরিচালকদের শেষ ফলাফল আগ্রহী। আপনি যেভাবে সেখানে যাবেন তার সাথে তারা যতটা প্রযুক্তিগত হবেন ততই তারা উদ্বিগ্ন। এমভিসি খুব সাধারণ, জনপ্রিয় এবং প্রমাণিত।

ভবিষ্যতে যখন পরিবর্তনের অনুরোধগুলি করা হয়, আপনি পরিচালনগুলিকে সেগুলিকে আরও সহজ এবং দ্রুততর করা যেতে পারে তা জানাতে পারেন। প্রত্যেকে এটি শুনতে পছন্দ করে।

এটি একটি সাধারণ কৌশল, সুতরাং নতুন বিকাশকারীদের নিয়োগ দেওয়া কোনও সমস্যা উপস্থাপন করা উচিত নয়। প্রকৃতপক্ষে, আপনি আরও ভাল বিকাশকারীদের আকর্ষণ করতে পারেন যারা দৃ strong় প্রবক্তা।

এই বিশেষ প্রকল্পে অনেক টিপুন সমস্যা থাকলে এটি সবই খুব কঠিন হতে চলেছে। তারা একটি পদক্ষেপ পিছনে নিতে ইচ্ছুক হতে পারে না যাতে আপনি দুটি পদক্ষেপ এগিয়ে নিতে পারেন। সমাধানের জন্য অপেক্ষা করতে বা ছোট ছোট টুকরা প্রয়োগ করতে পারে।


9
  • মডেল - তার / বিদ্যুত
  • দেখুন - হালকা স্থিতিশীলতা
  • নিয়ামক - হালকা স্যুইচ

তুলনামূলকভাবে উপাদানগুলি সরিয়ে আনা সহজ (হালকা ফিক্সচার, হালকা স্যুইচ / ম্লান)। সম্ভবত তারের পরিমাণ এত বেশি নয়, তবে এখনও অন্য উপাদানগুলিকে প্রভাবিত না করেই করা যেতে পারে। প্রত্যেকেরই এটি শীর্ষে এমনকি বিপণন / বিক্রয় প্রকারভেদে কল্পনা করতে সক্ষম হওয়া উচিত। (স্পষ্ট বিচ্ছেদ ইত্যাদি)

এখন আপনার বস / সহকর্মীদের বলুন যে আমাদের অ্যাপ্লিকেশন / সিস্টেমে স্যুইচটি আলোক ফিক্সারের অভ্যন্তরে এম্বেড করা হয়েছে এবং আলোর ফিক্সচারটি তামাটির তারে আবৃত থাকে। এখন হালকা ফিক্স, সুইচ বা তারটি আপডেট করার চেষ্টা করুন। খুব ব্যয়বহুল, খুব বেশি অন্যান্য উপাদানগুলির উপর প্রভাব এবং অন্য কিছু না ভাঙতে সম্ভবত বিপজ্জনক।

এমভিসি কোড বেসে একটি প্যাটার্ন প্রয়োগ করছে যা ঝাঁকুনির (তবে কাজ করছে) জঞ্জালটিকে এমন কিছুতে পরিণত করে যেখানে কম ত্রুটি সহ দ্রুত এবং সহজ পরিবর্তন হতে পারে।


হুঁ ... যে উপমা আসলেই "স্পটটিকে আঘাত করে না" আইএমএইচওতে।
দেবসোলার

তবে একরকম উপমা সরবরাহ করার সম্পূর্ণ ধারণাটি এটি। আমি অনুরূপ কিছু লিখতে হবে। সাধারণত গাড়ি বা অর্থের সাথে জড়িত
কোনও

সত্যই যে লোকদের উত্সাহ দেওয়া উচিত তারা হ'ল নন-প্রোগ্রামার। আমার মনে হয় সাইটের বেশিরভাগ ব্যবহারকারী প্রোগ্রামার! :)
জন রেয়নর

3

একটি সহজ উপায় বুঝতে MVC: মডেল ডেটা , দৃশ্য পর্দায় উইন্ডো এবং নিয়ামক দুই মধ্যে আঠালো হয়

সর্বকালের সেরা রুব্রিক: "আমাদের স্মার্ট মডেল, থিন কন্ট্রোলার এবং ডুম্ব ভিউ প্রয়োজন"

অন্যান্য সফ্টওয়্যার ডিজাইনের ধরণগুলির মতো, এমভিসি প্রতিটি সিস্টেমের সাথে খাপ খাইয়ে দেওয়ার সময় কোনও সমস্যার " সমাধানের মূল " প্রকাশ করে । সুনির্দিষ্ট বাস্তবায়নের পরিবর্তে এটি একটি ধারণা হিসাবে আরও ভালভাবে দেখা যায়। ধারণার অনেক বাস্তবায়ন আছে।

সমস্ত এমভিসি ভেরিয়েন্টগুলি উপাদানগুলির একই বিভাগ ব্যবহার করে তবে সাধারণত those উপাদানগুলি কীভাবে ইন্টারঅ্যাক্ট করে তার মধ্যে তারা পৃথক হয়।

এখানে চিত্র বর্ণনা লিখুন

আপনারা যারা অবগত নন, তাদের জন্য এমভিসি মূলত ১৯ Small৯ সালে ট্রাইগভে রেইনস্কাগের দ্বারা স্মলটালকের সাথে ব্যবহারের জন্য নকশার নকশার ক্ষেত্রে বর্ণিত হয়েছিল । তাঁর গবেষণাপত্রটি "অ্যাপ্লিকেশন প্রোগ্রামিং ইন স্মলটাক -৮০: মডেল-ভিউ-কন্ট্রোলার কীভাবে ব্যবহার করবেন" শিরোনামে প্রকাশিত হয়েছিল এবং বেশিরভাগ ভবিষ্যতে এমভিসি বাস্তবায়নের ভিত্তি তৈরি করেছিল।


3

আমি ওডেদের সাথে অর্ধেকভাবে সম্মত - আপনার অ-প্রযুক্তিগত সহকর্মীদের এবং পরিচালকদের কীভাবে বোঝাতে হয় তা শিখতে যে আপনি কী করছেন তা গুরুতর বিবরণ ব্যাখ্যা না করেই গুরুত্বপূর্ণ এবং দরকারী, এটি আপনার প্রয়োজনীয় বুদ্ধিমান বিকাশ to

তবে, আমি বিশ্বাস করি যে সহজ কথায় জটিল ধারণাগুলি ব্যাখ্যা করার দক্ষতা আসলে এটির সাথে সহায়তা করে - নন-টেকনিক্যাল ম্যানেজারদের প্রায়শই একটি সমস্যা হ'ল যেহেতু তারা প্রযুক্তিগত লোকেরা কী করছে তা সঠিকভাবে বুঝতে সমস্যা হয়, তাই তাদের প্রবণতা রয়েছে তাদের অবিশ্বাস। এটি কেবলমাত্র মানুষের স্বভাব: এটি বিশ্বাস করা আরও সহজ যে আপনি বিশ্বাস করেন না এমন কিছু যা আপনার বিশ্বাস রাখার চেয়ে এটি অকেজো বা ভুল। অতএব, যদি আপনি হবে এ বোঝা ধারণা করতে পারেন সহজ, আপনি ব্যবহার করতে পারেন যখন আপনি এটি এবং সময়ের প্রয়োজন, আপনার অ-প্রযুক্তিগত পরিচালকদের শিখতে হবে যে, তারা করতে পারেন তা বুঝতে যদি তারা চাই - তোমাদের উপর এক কাছে নেই তাদের উপর - আপনি কেবল তাদের নিজস্ব বিচক্ষণতার জন্য বিশদটি এড়িয়ে চলেছেন। তারা আপনাকে আরও বিশ্বাস করবে।

এদিকে, প্রশ্নের উত্তর দিন:

ব্যবসায়িক লোকেরা বুঝতে পারে এমন উপমাগুলি ব্যবহার করা আমার পক্ষে দরকারী। এমভিসির জন্য, আমি এটিকে ব্যবসায় হিসাবে বর্ণনা করি।

  • মডেলগুলি ব্যবসায়ের যুক্তি এবং ডেটার জন্য দায়ী - এগুলি হ'ল প্রোগ্রামটি কী করে এবং এটি এটি কীভাবে ঘটে তার বিশদটি। প্রোগ্রামটি যদি ব্যবসা হয় তবে মডেলগুলি হ'ল গুদাম, কারখানা, শ্রমিক এবং মূলধন সরঞ্জাম equipment তারা নীচের স্তরের পরিচালকও হবে যা নিশ্চিত করে যে নিয়মগুলি অনুসরণ করা হয়েছে এবং নীতি প্রয়োগ করা হয়েছে।
  • দর্শনগুলি উপস্থাপনা স্তর - তারা সিস্টেমে কী চলছে তা ব্যবহারকারীদের দেখায় এবং প্রোগ্রামের সাথে ইন্টারঅ্যাক্ট করার জন্য একটি উপায় সরবরাহ করে। আমাদের প্রোগ্রামটি যদি কোনও সংস্থা হয়, তবে ভিউগুলি শো-রুমের মেঝে, বাণিজ্য সম্মেলনে বিক্রয় বুথ বা বিক্রয় প্রতিনিধিগুলির মতো হবে। তারা বিকল্পগুলি প্রদর্শন করে, ব্যবহারকারী-বান্ধব তথ্য এবং প্রতিক্রিয়া সরবরাহ করে এবং অনুরোধগুলি পুনরায় সংস্থায় নিয়ে যায়।
  • কন্ট্রোলারগুলি সমন্বয় স্তর - তারা নিশ্চিত করে যে মডেলগুলি থেকে ভিউ এবং তার বিপরীতে তথ্য পাওয়া যায় এবং তাদের কাজটি করার জন্য সবকিছু একসাথে কাজ করে। প্রোগ্রামটি যদি কোনও সংস্থা থাকে তবে নিয়ন্ত্রণকারীরা হতেন মধ্য এবং উচ্চ স্তরের পরিচালনা। তারা বিশদে জড়িত হয় না, তবে তারা নিশ্চিত করে যে সঠিক লোকদের তাদের কাজ করার উপযুক্ত সরঞ্জাম রয়েছে এবং তারা উচ্চ-স্তরের সিদ্ধান্তগুলিকে অনুমোদিত বা অস্বীকার করে। তারা সামগ্রিক দিকনির্দেশ সরবরাহ করে যাতে জিনিসগুলি একসাথে কাজ করতে পারে।

এই উপমাটি দিয়ে এটি ব্যাখ্যা করার সুবিধাটি হ'ল একজন ভাল পরিচালক এইভাবে উদ্বেগগুলি পৃথক করার মতো প্রজ্ঞা দেখবেন এবং সিদ্ধান্ত নিতে পারেন যে তাদের আরও নিয়ামকের মতো হওয়া উচিত এবং ভবিষ্যতে বিশদগুলিতে খুব বেশি জড়িত না হয়ে!

আশা করা যায় যে "কী" - "কেন" এই উপমাটি দিয়ে খুব সহজ উত্তর দেবে:

একটি আদর্শ সংস্থার কল্পনা করুন, যেখানে প্রতিটি বিভাগই এক সেট কাজের জন্য দায়বদ্ধ এবং জানে যে অন্যরা কী করছে তা নিয়ে চিন্তা না করেই তার সর্বদা প্রয়োজনীয় সংস্থান থাকবে। একজন বিক্রয় প্রতিনিধি কোনও গ্রাহককে খুঁজে পায়, তাদের অর্ডার পান, অনুমোদনের জন্য এটি ম্যানেজমেন্টে ফেরত দেয় এবং তারপরে এটি পরিপূর্ণতার জন্য গুদাম / উত্পাদন / ইঞ্জিনিয়ারিংয়ে যায়। প্রতিক্রিয়া প্রত্যক্ষ - সমস্যা না থাকলে অন্য কারও সাথেই জড়িত হওয়ার দরকার নেই। এটি একটি ভাল এমভিসি ডিজাইন - প্রতিটি অংশের একটি কাজ রয়েছে এবং এটি অন্যান্য অংশগুলির জন্য চিন্তা করতে হবে না। এইভাবে, আমাদের প্রয়োজন হলে এটি পরিবর্তন করা সহজ। নন-এমভিসি নকশায়, দায়িত্বগুলি পরিষ্কার নয়। যখন গ্রাহক অন্যরকম কিছু জিজ্ঞাসা করে বিক্রয় প্রতিনিধি পণ্যটি পরিবর্তন করতে পারে। অথবা তারা সেদিন কীভাবে অনুভূত হয়েছে তার উপর নির্ভর করে তারা বিভিন্ন মূল্য দিতে পারে। প্রধান নির্বাহী কারখানার মেঝেতে প্রোডাকশন লাইনের সাথে জগাখিচুড়ি করতে পারেন, যখন তাকে আরও নির্ভরযোগ্য সাপ্লাই চেইন কীভাবে পাওয়া যায় তা নিয়ে উদ্বিগ্ন হওয়া উচিত। গুদাম শ্রমিকরা যখন গ্রাহকদের সাথে ইতিমধ্যে নেওয়া আদেশগুলি পূরণ করা উচিত তখন তাদের সাথে বিক্রয়কক্ষে কথা বলতে পারে।

অন্য কথায়, ভাল এমভিসি ডিজাইন প্রতিটি অংশকে একটি জিনিসে ফোকাস করতে দেয়, যাতে এটি এটি সঠিকভাবে করতে পারে - ঠিক যেমন একটি সুসংহত সংস্থার মতো।

** অস্বীকৃতি - আপনার সংস্থাটি যদি সুসংগতভাবে সংগঠিত না হয় তবে তারা এতে ক্ষতিগ্রস্থ হতে পারে। সেক্ষেত্রে আপনার আর একটি উপমা প্রয়োজন need আপনার অন্য একটি চাকরির দরকারও হতে পারে।



ভাল বিবরণ - দুর্দান্ত অস্বীকৃতি।
সিটিজেনকং

2

এমভিসি এর সুবিধাগুলি মূলত উদ্বেগের বিভাজনে:

এটি লোকেদের সর্বোত্তম কাজগুলিতে মনোনিবেশ করতে দেয়।

Database admins develop the model
Programmers write the controllers
and Graphic designers can design the views.

এটি ব্যয় হ্রাস করে কারণ আন্তঃখিল্লিত সিস্টেমগুলির ক্ষেত্রে এই সমস্ত ক্ষেত্রেই কর্মী নিযুক্ত করা প্রয়োজন, অথবা যখন কোনও অঞ্চলে পরিবর্তন অন্যকে প্রভাবিত করে তখন আপনার সমস্যা হওয়ার সম্ভাবনা বেশি থাকে।

এমভিসি আর্কিটেকচারের বাস্তব জীবনের উদাহরণ সরবরাহ করুন: সেল ফোন, ডেস্কটপ ফোন, স্কাইপ ইত্যাদির ভিউ পরিবর্তন করা (ডায়াল প্যাড, স্পিকার, মিক্সের ধরণ) মডেলটিকে (অডিও সংকেত) প্রভাবিত করে না, নিয়ামকটি হ'ল সার্কিটরি ফোনটি শব্দ তরঙ্গকে অডিও সিগন্যালে অনুবাদ করে।


4
আমি এমভিসির মডেলটিকে ডেটাবেসের সাথে সমান করব না, বা এমভিসি'র নিয়ামক ব্যবহারকারীর সাথে ইনপুট রাখব না।
টোবিয়া

1
@ টোবিয়া হ্যাঁ, তবে এর সংক্ষিপ্তসারগুলি অ-প্রযুক্তিগত ব্যক্তির উপর নষ্ট হয়ে যাবে। এটি পয়েন্টটি পেয়ে যায়
বি

@ টোবিয়া এটি পুনর্বিবেচনা করছে, আরও সঠিক হওয়ার জন্য বিবরণটি অ্যাডজাস্ট করেছে। তোমার মন্তব্যের জন্য ধন্যবাদ.
বি

1

আমি তাদের বলব যে এমভিসি আমার উদ্বেগগুলি পৃথক করে।

আমার প্রথম উদ্বেগ হ'ল কোড লজিক - ওয়েবসাইটটি তারা যে কাজটি করতে চায় তা সম্পাদন করতে আমি পর্দার আড়ালে কী করি।

আমার দ্বিতীয় উদ্বেগ হ'ল ব্যবসায়ের যুক্তি - তারা (ব্যবহারকারী) অ্যাপ্লিকেশনটি করতে চায়।

আমার তৃতীয় উদ্বেগটি সাইটটি কেমন দেখাচ্ছে - তারা যা চায় তা করতে তারা যে পৃষ্ঠায় ভিজিট করেন।

(আমি তাদের পরবর্তী অংশটি বলব না) সুতরাং, ক্রম হিসাবে, আমার ব্যাখ্যাগুলি মডেল, নিয়ামক এবং দর্শনের জন্য ছিল।


1

সুবিধাগুলি ব্যাখ্যা করুন

আমি ব্যবসায়ের সুবিধার ক্ষেত্রে এমভিসি ব্যাখ্যা করব। আপনার পরিচালকরা এটি বুঝতে সক্ষম হবেন, এবং সুবিধাগুলি নিশ্চিত হলে বোর্ডে উঠবেন।

এমভিসি আপনাকে আপনার অ্যাপ্লিকেশনটি বুদ্ধিমান ইউনিটগুলিতে বিভক্ত করার অনুমতি দেয়, যার প্রতিটিই অন্যদের থেকে স্বতন্ত্রভাবে বিদ্যমান। আপনি পরিষ্কার, রক্ষণাবেক্ষণযোগ্য, টেস্টেবল কোড এবং সিস্টেমের মধ্যে কোডের পুনরায় ব্যবহারের সম্ভাব্যতা পান।

মডেলটি

প্রতিটি মডেল একক ধরণের ব্যবসায়ের তথ্য encapsulates, উদাহরণস্বরূপ, গ্রাহক রেকর্ড বা একটি পণ্য, সম্পর্কিত সমস্ত যুক্তি যুক্তির সাথে।

এটিকে আলাদা করে দেওয়া আপনার আবেদনের অন্যান্য অংশগুলি থেকে বিচ্ছিন্নভাবে আপনার ব্যবসায়িক যুক্তি সহজেই পরীক্ষা করতে দেয়।

আপনি অতিরিক্ত মডেল যুক্ত করে সহজেই অ্যাপ্লিকেশনটি প্রসারিত করতে পারেন, এটি খুব মডুলার এবং পরিষ্কার।

তত্ত্বের প্রতিটি মডেল অন্যদের থেকে স্বাধীনভাবে থাকতে পারে। আপনি মডেলগুলির মধ্যে সম্পর্ক পরিচালনা করতে পরিষেবা অবজেক্টগুলি ব্যবহার করে এটি প্রয়োগ করার বিষয়টি বিবেচনা করতে পারেন। আপনি সিস্টেমের বাকি অংশগুলিকে প্রভাবিত না করে মডেলগুলি অদলবদল করতে পারেন।

দৃশ্য

আপনার দৃষ্টিভঙ্গিকে আলাদা করা আপনাকে অন্তর্নিহিত ব্যাক এন্ডটি না ভেঙে খুব সহজেই আপনার সামনের প্রান্তটি আপডেট করতে দেয়।

অগত্যা পুরো সিস্টেমে অ্যাক্সেস না দিয়ে আপনি অন্য সম্মুখ বিকাশকারীকে আপনার সামনের এন্ড কোডটি দিতে পারেন।

বিদ্যমান সিস্টেমের সাথে কাজ করে এমন বিকল্প ফ্রন্টগুলি তৈরি করতে আপনি মুক্ত are আপনি আপনার ডেটা মোবাইল অ্যাপ্লিকেশন, বা একটি এপিআই, বা একটি পিডিএফ, বা এক্সেল স্প্রেডশিট হিসাবে দেখিয়ে দিতে পারেন। আপনি সিস্টেমের বাকি অংশগুলিতে হ্যাকিং ছাড়াই এটি করতে পারেন। আপনি দুর্ঘটনাক্রমে জিনিসগুলি ভাঙার সম্ভাবনা কম। বিদ্যমান সিস্টেমগুলিতে প্রবেশের জন্য আপনি সহজেই ইন্টিগ্রেশন পয়েন্ট তৈরি করতে পারেন।

নিয়ামক

কন্ট্রোলার মডেলগুলি দেখার জন্য। এটি সবকিছু আলাদা রাখে। আপনি খুব সহজেই একটি ভিন্ন দৃশ্যে ওয়্যার করতে পারেন। আপনি যদি নিজের মডেল কোডটি পরিবর্তন করেন তবে ভিউটি এমনকি জানারও দরকার নেই।

অন্যান্য সুবিধা

এটি একটি সাধারণ প্যাটার্ন। অন্যান্য বিকাশকারীরা আপনার কোড বুঝতে এবং এটিতে কাজ করতে সক্ষম হবে। আপনি যদি কয়েক বছর পরে আপনার কোডটিতে ফিরে যান, আপনি সম্ভবত এটি বুঝতে এবং পরিবর্তন করতে সক্ষম হবেন। আপনার কোড ভবিষ্যতের বিকাশকারীদের জন্য অন্য উত্তরাধিকারের মাথাব্যথায় পরিণত হওয়ার সম্ভাবনা কম।

যেহেতু সবকিছুর একটি জায়গা থাকে তাই পরিষ্কার কোড তৈরি করা অনেক সহজ। স্প্যাগেটিফিকেশন হওয়ার ঝুঁকি নাটকীয়ভাবে হ্রাস পেয়েছে (যদিও এটি নির্মূল হয়নি)। আপনার কোডটি রক্ষণাবেক্ষণযোগ্য হয়ে ওঠে।

যেহেতু সবকিছুই মডুলার, আপনি এর অংশগুলি বিচ্ছিন্নভাবে পরীক্ষা করতে পারেন। আপনার কোডটি পরীক্ষাযোগ্য এবং বাগ বা সুরক্ষা গর্তের আশ্রয় নেওয়ার সম্ভাবনা কম। ভবিষ্যতের আপগ্রেডগুলি আরও সহজ হবে কারণ আপনি সহজেই পুরো সিস্টেমটি পরীক্ষা করতে সক্ষম হবেন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.