डीएसडी डिज़ाइन किए गए एएसपी.नेट एमवीसी 2 वेब ऐप में त्रुटि प्रबंधन से संबंधित "सर्वोत्तम प्रथाओं" क्या हैं? उदाहरण के लिए, किसी वेब एप्लिकेशन का सबसे आम पहलू लेते हैं, लॉगिन:डीडीडी-स्वाद वाले एएसपी.NET एमवीसी 2 वेब अनुप्रयोग
- UserController: जाहिर है में कुछ डोमेन वस्तुओं के लिए अंत में लॉग निर्देशांक या उपयोगकर्ता मना कर दिया, और अन्य भागों पर अनुप्रेषित आवश्यकतानुसार वेब इंटरफ़ेस का। मेरे मामले में, यह अलग-अलग उपयोगकर्ता टास्क पर कुछ कॉल है जैसे IsLoggedIn() या LogIn(), प्लस कुछ RedirectToAction।
- UserTasks: प्रासंगिक डोमेन समन्वय ऐसे SecurityService.ValidateUser() या User.IsUserInactive जाँच() कॉल के रूप में SecurityService तरह वस्तुओं सेवाओं, और कम डोमेन वस्तुओं, के काम का मांस है।
- SecurityService: जाहिर है निर्देशांक प्रमाणीकरण/प्राधिकरण सेवाओं। सदस्यता प्रदाता के समान, अतिरिक्त सामान के बिना।
- उपयोगकर्ता: उपयोगकर्ता का प्रतिनिधित्व करता है। नहीं कमजोर, के रूप में यह विभिन्न उपयोगकर्ता-विशिष्ट के रूप में IsuUserInactive (जैसे तरीकों) है isDeleted, IsLockedOut की जाँच करता है या उपयोगकर्ता FromDt और ThruDt के बीच है यदि।
आप त्रुटियों को कैसे बुलबुला करते हैं जैसे कि वे जानकारीपूर्ण हैं और उपयोगकर्ताओं के प्रति शत्रु नहीं हैं? क्या आप अपवादों के साथ कूड़े कोड करते हैं और फिर उन्हें एप्लिकेशन_इरर() में बस संभालते हैं? उदाहरण के लिए, ValidateUser() को ArgumentNullException() को फेंकना चाहिए जब पासवर्ड खाली होता है और प्रमाणीकरण अपवाद() जब पासवर्ड सही नहीं होता है, या एक बूल = झूठी वापस लौटाता है? यदि उत्तरार्द्ध, आप उपयोगकर्ता को कैसे सूचित करते हैं कि सत्यापन विफल होने का कारण क्या है?