CodeGym /Java Blog /এলোমেলো /অংশ 7. MVC (মডেল-ভিউ-কন্ট্রোলার) প্যাটার্ন প্রবর্তন করা হ...
John Squirrels
লেভেল 41
San Francisco

অংশ 7. MVC (মডেল-ভিউ-কন্ট্রোলার) প্যাটার্ন প্রবর্তন করা হচ্ছে

এলোমেলো দলে প্রকাশিত
এই উপাদানটি "এন্টারপ্রাইজ ডেভেলপমেন্টের ভূমিকা" সিরিজের অংশ। পূর্ববর্তী নিবন্ধ: অংশ 7. MVC (মডেল-ভিউ-কন্ট্রোলার) প্যাটার্ন প্রবর্তন - 1এই নিবন্ধে আমরা MVC নামে কিছু জানতে পারব। আমরা MVC কী তা নিয়ে কথা বলব, এর ইতিহাসে স্পর্শ করব, MVC-তে মূর্ত মৌলিক ধারণা এবং ধারণাগুলি অন্বেষণ করব, মডেল, ভিউ এবং কন্ট্রোলার মডিউলগুলিতে একটি অ্যাপ্লিকেশন কীভাবে বিভক্ত করা যায় তা ধাপে ধাপে দেখুন, একটি লিখুন স্প্রিং বুট ব্যবহার করে ছোট ওয়েব অ্যাপ্লিকেশন, এবং উদাহরণ হিসাবে স্প্রিং এমভিসি ব্যবহার করে, জাভা কোড থেকে এইচটিএমএল পৃষ্ঠাগুলিতে কীভাবে ডেটা পাঠানো হয় তা দেখুন। এই উপাদান বুঝতে, আপনি নকশা নিদর্শন, বিশেষ করে পর্যবেক্ষক এবং সম্মুখভাগ সঙ্গে পরিচিত হতে হবে। এবং HTTP অনুরোধ এবং প্রতিক্রিয়াগুলির সাথে পরিচিত হন, HTML এর মূল বিষয়গুলি বোঝুন এবং জাভা টীকাগুলি কী তা জানুন৷ এক কাপ কফি এবং স্ন্যাক নিন এবং আরাম পান। চল শুরু করি.

MVC এর ইতিহাস

1970-এর দশকের শেষের দিকে জেরক্স পিএআরসি-তে কাজ করার সময় ট্রাইগভ রেনস্কাগ এমভিসি-এর পিছনের ধারণাগুলি প্রণয়ন করেছিলেন। সেই দিনগুলিতে, কম্পিউটারের সাথে কাজ করার জন্য একটি ডিগ্রি এবং বিশাল ডকুমেন্টেশনের ধ্রুবক অধ্যয়নের প্রয়োজন ছিল। খুব শক্তিশালী ডেভেলপারদের একটি গোষ্ঠীর সাথে Reenskaug দ্বারা সমাধান করা কাজটি ছিল কম্পিউটারের সাথে একজন সাধারণ ব্যবহারকারীর মিথস্ক্রিয়া সহজ করা। এমন সরঞ্জামগুলি তৈরি করা প্রয়োজন ছিল যা একদিকে অত্যন্ত সহজ এবং বোধগম্য হবে এবং অন্যদিকে কম্পিউটার এবং জটিল অ্যাপ্লিকেশনগুলিকে নিয়ন্ত্রণ করা সম্ভব করবে। রেনস্কাগ এমন একটি দলে কাজ করেছেন যেটি "সব বয়সের শিশুদের জন্য" একটি ল্যাপটপ কম্পিউটার তৈরি করেছে — ডায়নাবুক, সেইসাথে অ্যালান কে-এর নেতৃত্বে স্মলটক ভাষা। এটি ছিল যখন একটি বন্ধুত্বপূর্ণ ইন্টারফেসের ধারণাগুলি স্থাপন করা হয়েছিল। অনেক ক্ষেত্রে, Reenskaug এবং তার দলের কাজ আইটি ক্ষেত্রের বিবর্তনকে প্রভাবিত করেছে। এখানে একটি আকর্ষণীয় তথ্য যা সরাসরি MVC-তে প্রযোজ্য নয়, তবে এই উন্নয়নগুলির তাত্পর্যকে ব্যাখ্যা করে। অ্যালান কেবলেছেন, "যখন আমি প্রথম অ্যাপলের কাছে যাই, যা '84 সালে ছিল, ম্যাক ইতিমধ্যেই বন্ধ হয়ে গিয়েছিল এবং নিউজউইক আমার সাথে যোগাযোগ করেছিল এবং ম্যাক সম্পর্কে আমি কী ভাবছি তা আমাকে জিজ্ঞাসা করেছিল। আমি বলেছিলাম, 'আচ্ছা, ম্যাক হল প্রথম ব্যক্তিগত কম্পিউটার যথেষ্ট ভাল সমালোচিত হতে হবে।' সুতরাং, 2007 সালে আইফোন ঘোষণা করার পর, তিনি এটি আমার কাছে নিয়ে এসে আমাকে দিয়েছিলেন। তিনি বলেছিলেন, 'অ্যালান, এটি কি সমালোচনার জন্য যথেষ্ট?' এবং আমি বলেছিলাম, 'স্টিভ, এটিকে একটি ট্যাবলেটের মতো বড় করুন এবং আপনি বিশ্বকে শাসন করবেন।'" 3 বছর পর, 27 জানুয়ারী, 2010-এ, অ্যাপল 9.7 ইঞ্চি তির্যক সহ আইপ্যাড প্রবর্তন করে। অন্য কথায়, স্টিভ জবস প্রায় হুবহু অ্যালান কে-এর পরামর্শ অনুসরণ করেছিলেন। Reenskaug এর প্রকল্প 10 বছর ধরে চলেছিল। কিন্তু এমভিসি সম্পর্কে প্রথম প্রকাশনাটি আরও 10 বছর পরে প্রকাশিত হয়েছিল। মার্টিন ফাউলার, সফ্টওয়্যার আর্কিটেকচারের উপর বেশ কয়েকটি বই এবং নিবন্ধের লেখক, উল্লেখ করেছেন যে তিনি Smalltalk এর একটি কার্যকরী সংস্করণ ব্যবহার করে MVC অধ্যয়ন করেছেন। কারণ দীর্ঘদিন ধরে মূল উৎস থেকে MVC সম্পর্কে কোনো তথ্য ছিল না, এবং অন্যান্য বিভিন্ন কারণে, এই ধারণার বিভিন্ন ব্যাখ্যার একটি বড় সংখ্যা উপস্থিত হয়েছিল। ফলস্বরূপ, অনেকে এমভিসিকে ডিজাইন প্যাটার্ন হিসাবে বিবেচনা করে। কম সাধারণভাবে, MVC কে একটি যৌগিক প্যাটার্ন বা বিভিন্ন প্যাটার্নের সংমিশ্রণ বলা হয় যা জটিল অ্যাপ্লিকেশন তৈরি করতে একসাথে কাজ করে। কিন্তু, যেমন আগে উল্লিখিত হয়েছে, MVC আসলে প্রাথমিকভাবে স্থাপত্য ধারণা/নীতি/পদ্ধতিগুলির একটি সেট যা বিভিন্ন প্যাটার্ন ব্যবহার করে বিভিন্ন উপায়ে প্রয়োগ করা যেতে পারে... এরপর, আমরা MVC ধারণার মধ্যে এমবেড করা মূল ধারণাগুলি বিবেচনা করব। এবং অন্যান্য বিভিন্ন কারণে, এই ধারণার বিভিন্ন ব্যাখ্যার একটি বড় সংখ্যা উপস্থিত হয়েছিল। ফলস্বরূপ, অনেকে এমভিসিকে ডিজাইন প্যাটার্ন হিসাবে বিবেচনা করে। কম সাধারণভাবে, MVC কে একটি যৌগিক প্যাটার্ন বা বিভিন্ন প্যাটার্নের সংমিশ্রণ বলা হয় যা জটিল অ্যাপ্লিকেশন তৈরি করতে একসাথে কাজ করে। কিন্তু, যেমন আগে উল্লিখিত হয়েছে, MVC আসলে প্রাথমিকভাবে স্থাপত্য ধারণা/নীতি/পদ্ধতিগুলির একটি সেট যা বিভিন্ন প্যাটার্ন ব্যবহার করে বিভিন্ন উপায়ে প্রয়োগ করা যেতে পারে... এরপর, আমরা MVC ধারণার মধ্যে এমবেড করা মূল ধারণাগুলি বিবেচনা করব। এবং অন্যান্য বিভিন্ন কারণে, এই ধারণার বিভিন্ন ব্যাখ্যার একটি বড় সংখ্যা উপস্থিত হয়েছিল। ফলস্বরূপ, অনেকে এমভিসিকে ডিজাইন প্যাটার্ন হিসাবে বিবেচনা করে। কম সাধারণভাবে, MVC কে একটি যৌগিক প্যাটার্ন বা বিভিন্ন প্যাটার্নের সংমিশ্রণ বলা হয় যা জটিল অ্যাপ্লিকেশন তৈরি করতে একসাথে কাজ করে। কিন্তু, যেমন আগে উল্লিখিত হয়েছে, MVC আসলে প্রাথমিকভাবে স্থাপত্য ধারণা/নীতি/পদ্ধতিগুলির একটি সেট যা বিভিন্ন প্যাটার্ন ব্যবহার করে বিভিন্ন উপায়ে প্রয়োগ করা যেতে পারে... এরপর, আমরা MVC ধারণার মধ্যে এমবেড করা মূল ধারণাগুলি বিবেচনা করব।

MVC: মৌলিক ধারণা এবং নীতি

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

ধাপ 1. ইউজার ইন্টারফেস থেকে অ্যাপ্লিকেশনটির ব্যবসায়িক যুক্তি আলাদা করুন

MVC-এর মূল ধারণা হল যে একটি ব্যবহারকারী ইন্টারফেস সহ যেকোনো অ্যাপ্লিকেশনকে 2টি মডিউলে ভাগ করা যেতে পারে: ব্যবসায়িক যুক্তি বাস্তবায়নের জন্য দায়ী একটি মডিউল এবং ব্যবহারকারী ইন্টারফেস। প্রথম মডিউলটি অ্যাপ্লিকেশনটির প্রধান কার্যকারিতা বাস্তবায়ন করবে। এই মডিউলটি সিস্টেমের মূল, যেখানে অ্যাপ্লিকেশনটির ডোমেন মডেল প্রয়োগ করা হয়। MVC দৃষ্টান্তে, এই মডিউলটি হল M অক্ষর, অর্থাৎ মডেল। দ্বিতীয় মডিউলটি ব্যবহারকারীর কাছে ডেটা প্রদর্শন এবং অ্যাপ্লিকেশনের সাথে ব্যবহারকারীর মিথস্ক্রিয়া পরিচালনা করার যুক্তি সহ সমগ্র ব্যবহারকারী ইন্টারফেস প্রয়োগ করে। এই বিচ্ছেদের মূল লক্ষ্য হল নিশ্চিত করা যে সিস্টেমের মূল (MVC পরিভাষায় "মডেল") স্বাধীনভাবে বিকশিত এবং পরীক্ষা করা যায়। এই বিচ্ছেদ করার পরে, অ্যাপ্লিকেশনটির আর্কিটেকচারটি এইরকম দেখায়: অংশ 7. MVC (মডেল-ভিউ-কন্ট্রোলার) প্যাটার্ন প্রবর্তন - 3

ধাপ 2 মডেলটিকে আরও স্বাধীন করতে এবং ইউজার ইন্টারফেস সিঙ্ক্রোনাইজ করতে পর্যবেক্ষক প্যাটার্ন ব্যবহার করুন

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

ধাপ 3 ইন্টারফেসটিকে ভিউ এবং কন্ট্রোলারে আলাদা করুন

আমরা অ্যাপ্লিকেশানটিকে মডিউলগুলিতে ভাগ করা চালিয়ে যাচ্ছি, তবে এখন অনুক্রমের নিম্ন স্তরে। এই ধাপে, ইউজার ইন্টারফেস (যা আমরা ধাপ 1 এ একটি স্বতন্ত্র মডিউলে আলাদা করেছি) একটি ভিউ এবং একটি কন্ট্রোলারে বিভক্ত। দৃশ্য এবং নিয়ামকের মধ্যে একটি কঠোর লাইন আঁকা কঠিন। যদি আমরা বলি যে ভিউটি হল ব্যবহারকারী যা দেখেন এবং নিয়ামক হল এমন একটি প্রক্রিয়া যা ব্যবহারকারীকে সিস্টেমের সাথে ইন্টারঅ্যাক্ট করতে দেয়, আপনি একটি বৈপরীত্য নির্দেশ করতে পারেন। কন্ট্রোল উপাদান, যেমন একটি ওয়েব পৃষ্ঠার বোতাম বা ফোনের স্ক্রিনে একটি ভার্চুয়াল কীবোর্ড, মূলত কন্ট্রোলারের অংশ। কিন্তু এগুলি ব্যবহারকারীর কাছে দৃশ্যের যেকোনো অংশের মতোই দৃশ্যমান। আমরা এখানে সত্যিই কি সম্পর্কে কথা বলছি কার্যকরী বিচ্ছেদ. ইউজার ইন্টারফেসের প্রধান কাজ হল সিস্টেমের সাথে ব্যবহারকারীর মিথস্ক্রিয়া সহজতর করা।
  • আউটপুট এবং সুবিধাজনকভাবে ব্যবহারকারীর সিস্টেম তথ্য প্রদর্শন
  • ব্যবহারকারীর ডেটা এবং কমান্ড লিখুন (সেগুলি সিস্টেমে যোগাযোগ করুন)
এই ফাংশনগুলি নির্ধারণ করে কিভাবে ইউজার ইন্টারফেসকে মডিউলে ভাগ করা উচিত। শেষ পর্যন্ত, সিস্টেম আর্কিটেকচারটি এরকম দেখায়: অংশ 7. MVC (মডেল-ভিউ-কন্ট্রোলার) প্যাটার্ন প্রবর্তন - 4এবং এইভাবে আমরা মডেল, ভিউ এবং কন্ট্রোলার নামক তিনটি মডিউল নিয়ে গঠিত একটি অ্যাপ্লিকেশনে পৌঁছাই। আসুন সংক্ষিপ্ত করা যাক:
  1. MVC দৃষ্টান্তের নীতি অনুসারে, একটি সিস্টেমকে মডিউলে ভাগ করা আবশ্যক।
  2. সবচেয়ে গুরুত্বপূর্ণ এবং স্বাধীন মডিউল মডেল হওয়া উচিত।
  3. মডেল হল সিস্টেমের মূল। ইউজার ইন্টারফেস থেকে স্বাধীনভাবে এটি বিকাশ এবং পরীক্ষা করা সম্ভব হওয়া উচিত।
  4. এটি অর্জন করতে, বিভাগের প্রথম ধাপে, আমাদের সিস্টেমটিকে একটি মডেল এবং ব্যবহারকারী ইন্টারফেসে বিভক্ত করতে হবে।
  5. তারপর, পর্যবেক্ষক প্যাটার্ন ব্যবহার করে, আমরা মডেলের স্বাধীনতাকে শক্তিশালী করি এবং ব্যবহারকারী ইন্টারফেসগুলিকে সিঙ্ক্রোনাইজ করি।
  6. তৃতীয় ধাপ হল ইউজার ইন্টারফেসকে কন্ট্রোলার এবং ভিউতে ভাগ করা।
  7. সিস্টেমে ব্যবহারকারীর ডেটা গ্রহণের জন্য যা প্রয়োজন তা নিয়ামকের মধ্যে রয়েছে।
  8. ব্যবহারকারীর কাছে তথ্য সরবরাহের জন্য যা যা প্রয়োজন তা দৃশ্যমান।
আপনি আপনার হট চকলেট পান করার আগে আলোচনা করার জন্য আরও একটি গুরুত্বপূর্ণ বিষয়।

ভিউ এবং কন্ট্রোলার মডেলের সাথে কীভাবে ইন্টারঅ্যাক্ট করে সে সম্পর্কে একটু

নিয়ামকের মাধ্যমে তথ্য প্রবেশ করে, ব্যবহারকারী মডেল পরিবর্তন করে। অথবা অন্তত, ব্যবহারকারী মডেল ডেটা পরিবর্তন করে। যখন ব্যবহারকারী ইন্টারফেস উপাদানগুলির মাধ্যমে তথ্য গ্রহণ করে (দর্শনের মাধ্যমে), ব্যবহারকারী মডেল সম্পর্কে তথ্য গ্রহণ করে। এটা কিভাবে হয়? ভিউ এবং কন্ট্রোলার মডেলের সাথে যোগাযোগ করে কিসের মাধ্যমে? সর্বোপরি, ভিউয়ের ক্লাসগুলি ডেটা পড়তে/লিখতে মডেলের ক্লাসের পদ্ধতিগুলিকে সরাসরি কল করতে পারে না। অন্যথায়, আমরা বলতে পারব না যে মডেলটি স্বাধীন। মডেলটি ঘনিষ্ঠভাবে সম্পর্কিত ক্লাসগুলির একটি সেট যা ভিউ বা কন্ট্রোলারের অ্যাক্সেস থাকা উচিত নয়। মডেলটিকে ভিউ এবং কন্ট্রোলারের সাথে সংযুক্ত করতে, আমাদের সম্মুখভাগের নকশার প্যাটার্নটি বাস্তবায়ন করতে হবে। মডেলের সম্মুখভাগ হল মডেল এবং ইউজার ইন্টারফেসের মধ্যে স্তর, যার মাধ্যমে ভিউটি সুবিধাজনকভাবে ফর্ম্যাট করা ডেটা গ্রহণ করে এবং কন্ট্রোলার সম্মুখভাগে প্রয়োজনীয় পদ্ধতিগুলি কল করে ডেটা পরিবর্তন করে। শেষ পর্যন্ত, সবকিছু এই মত দেখায়: অংশ 7. MVC (মডেল-ভিউ-কন্ট্রোলার) প্যাটার্ন প্রবর্তন - 6

MVC: আমরা কি লাভ করব?

MVC দৃষ্টান্তের মূল উদ্দেশ্য হল ব্যবসায়িক যুক্তির (মডেল) বাস্তবায়নকে এর ভিজ্যুয়ালাইজেশন (ভিউ) থেকে আলাদা করা। এই বিচ্ছেদ কোড পুনঃব্যবহারের সম্ভাবনা বাড়ায়। এমভিসির সুবিধাগুলি সবচেয়ে স্পষ্ট হয় যখন আমাদের একই ডেটা বিভিন্ন ফর্ম্যাটে উপস্থাপন করতে হয়। উদাহরণস্বরূপ, একটি টেবিল, গ্রাফ বা চার্ট হিসাবে (বিভিন্ন ভিউ ব্যবহার করে)। একই সময়ে, ভিউ কীভাবে প্রয়োগ করা হয় তা প্রভাবিত না করে, আমরা ব্যবহারকারীর ক্রিয়াগুলির (বোতাম ক্লিক, ডেটা এন্ট্রি) প্রতিক্রিয়া কীভাবে পরিবর্তন করতে পারি। আপনি যদি MVC-এর নীতিগুলি অনুসরণ করেন, আপনি সফ্টওয়্যার বিকাশকে সহজ করতে পারেন, কোড পঠনযোগ্যতা বাড়াতে পারেন এবং এক্সটেনসিবিলিটি এবং রক্ষণাবেক্ষণযোগ্যতা উন্নত করতে পারেন৷ "এন্টারপ্রাইজ ডেভেলপমেন্টের ভূমিকা" সিরিজের চূড়ান্ত নিবন্ধে, আমরা স্প্রিং এমভিসি ব্যবহার করে নির্মিত একটি এমভিসি বাস্তবায়ন দেখব। পার্ট 8. স্প্রিং বুট ব্যবহার করে একটি ছোট অ্যাপ্লিকেশন লিখি
মন্তব্য
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION