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