আমি এমভিসির এক্সনেসিবিলিটি পয়েন্টটি পছন্দ করি, ভিউ মডেলগুলিকে আইভিডিয়েটেটেবলঅবজেক্ট বাস্তবায়ন করতে এবং কাস্টম বৈধতা যুক্ত করতে দেয়।
এই কোডটি কেবলমাত্র বৈধতা যুক্তিযুক্ত হওয়ার কারণে আমি আমার কন্ট্রোলারদেরকে ঝুঁকে রাখার চেষ্টা করি:
if (!ModelState.IsValid)
return View(loginViewModel);
উদাহরণস্বরূপ, একটি লগইন ভিউ মডেল আইভিলেডিয়েটেবল ওজেক্ট প্রয়োগ করে, কনস্ট্রাক্টর ইনজেকশনের মাধ্যমে আইলোগিনভালিডেটর বস্তুটি পান:
public interface ILoginValidator
{
bool UserExists(string email);
bool IsLoginValid(string userName, string password);
}
দেখে মনে হচ্ছে যে ভিউ মডেলগুলিতে ইনজেকশনের উদাহরণগুলি নিনজেক্ট আসলেই একটি সাধারণ অনুশীলন নয়, এমনকি কোনও বিরোধী-প্যাটার্নও হতে পারে?
এই একটি ভাল পন্থা? এর চেয়ে ভাল আর কি আছে?