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