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