मैं सत्यापन उद्देश्यों के लिए विशिष्टता पैटर्न का उपयोग करने के बारे में सोच रहा हूं। मुश्किल बात यह है कि उपयोगकर्ता को बताने का तरीका क्यों कुछ विशिष्टता संतुष्ट नहीं हुई थी। क्या होगा यदि Specification.IsSatisfiedBy()
न केवल bool
मान लौटाएगा, बल्कि विफलता का कारण भी होगा। यह कुछ इस तरह दिखेगा:सत्यापन के लिए विशिष्टता पैटर्न का उपयोग डीडीडी
interface ISpecification<T>
{
CheckResult IsSatisfiedBy(T candidate);
}
जहां CheckResult
है:
class CheckResult
{
public bool IsSatisfied { get; }
public string FailureReason { get; }
}
Fowler & Evans काम में आंशिक रूप से संतुष्ट विशिष्टता जिसका उद्देश्य विवरण प्रदान करने के लिए वास्तव में क्या संतुष्ट नहीं था है की एक अवधारणा है। हालांकि उस दस्तावेज़ में, इसे अतिरिक्त विधि शेष के रूप में कार्यान्वित किया गया है जो विशिष्टता देता है जो उम्मीदवार द्वारा पूरा नहीं किया गया था।
तो सवाल यह है कि: सत्यापन उद्देश्यों के लिए विशिष्टता का उपयोग करते समय, उपयोगकर्ता को प्रतिक्रिया प्रदान करने के लिए कैसे दिया गया है कि एक निर्दिष्ट विशिष्टता संतुष्ट नहीं थी? क्या समाधान मैंने ऊपर प्रस्तुत किया है?
सबसे पहले, क्या आप वास्तव में सुनिश्चित हैं कि विशिष्टता जाने का तरीका है? मेरा मतलब है, क्या प्रत्येक विनिर्देश उस संदर्भ को जानता है जहां एक मॉडल मान्य हो सकता है या मान्य नहीं है? मैं ज्यादा नहीं कह सकता क्योंकि मुझे नहीं पता कि डोमेन कैसा दिखता है। कुछ सरल सत्यापन के लिए मुझे लगता है कि यह ठीक है, लेकिन डेटा एन्नोटेशन सत्यापन गुण अभी क्या कर रहे हैं। – MikeSW