मुझे एमवीसी की एक्स्टेंसिबिलिटी बिंदु पसंद है, जो आइडियल आईडबलटेबल ऑबजेक्ट को लागू करने और कस्टम सत्यापन जोड़ने की अनुमति देता है।
मैं अपने नियंत्रकों को दुबला रखने की कोशिश करता हूं, इस कोड के पास केवल सत्यापन तर्क है:
if (!ModelState.IsValid)
return View(loginViewModel);
उदाहरण के लिए एक लॉगिन दृश्य मॉडल IValidatableObject को लागू करता है, निर्माता इंजेक्शन के माध्यम से ILoginValidator ऑब्जेक्ट प्राप्त करता है:
public interface ILoginValidator
{
bool UserExists(string email);
bool IsLoginValid(string userName, string password);
}
ऐसा लगता है कि निनजे, दृश्य मॉडल में उदाहरणों को इंजेक्ट करना वास्तव में एक सामान्य अभ्यास नहीं है, यहां तक कि एक विरोधी पैटर्न भी हो सकता है?
क्या यह एक अच्छा तरीका है? क्या कोई बेहतर है?