'সলিড'-এ' আমি 'এর অর্থ ইন্টারফেস বিভাজন। এই নীতিটির পুরো ধারণাটি হ'ল বড় ইন্টারফেসগুলি ছোট ছোটগুলিতে বিভক্ত করা হয়, আরও মডিউলার। এমভিসি পরিষেবাদিতে সাধারণত একটি ইন্টারফেস থাকে যা নিয়ামক নির্ভর করে। আপনি চান না যে আপনার নিয়ন্ত্রকরা পরিষেবাটির কংক্রিট প্রয়োগের বিষয়ে জানতে চান। সুতরাং, এক বা দুটি পদ্ধতির সাথে একগুচ্ছ পরিষেবাগুলি থাকা ভাল জিনিস thing
পরিষেবাগুলি সাধারণত বড় অ্যাপ্লিকেশনগুলিতে ডিটিওগুলি বা সরাসরি ছোট অ্যাপ্লিকেশনগুলিতে ডোমেন মডেলগুলি ফেরত দেয়। ডিটিওগুলি সাধারণত আরও কাজ বোঝায় তবে উদ্বেগের থেকে আলাদা করা। সাধারণ প্রবাহটি হ'ল:
- কন্ট্রোলার কল পরিষেবা
- পরিষেবা কোনও বস্তু ফেরত দেয় (এটি একটি ডিটিও, ডোমেন মডেল বা অন্য কিছু হোক)
- কন্ট্রোলার ডিটিও / ডোমেন মডেলটিকে একটি ভিউ মডেলে মানচিত্র করে
ম্যাপিং ম্যানুয়ালি করা যেতে পারে তবে বেশিরভাগ বিকাশকারী অটোম্যাপারের মতো অটো ম্যাপিং কাঠামো ব্যবহার করতে পছন্দ করেন কারণ আমরা নদীর গভীরতানির্ণয় কোড লিখতে পছন্দ করি না এবং আমরা বেশ অলস হতে পারি :-)
http://en.wikipedia.org/wiki/Interface_segregation_principle
https://github.com/AutoMapper/AutoMapper
ডিটিও এবং ডোমেন মডেলগুলির ব্যবহার সম্পর্কিত স্ট্যাকওভারফ্লো সম্পর্কে অনেকগুলি আলোচনার মধ্যে একটি: /programming/2680071/dto-or-domain-model-object-in-the-view-layer