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