अपने डेटाबेस को डिज़ाइन करने से पहले अपने मॉडल को डिज़ाइन करने का एक तरीका है। अपने मॉडल को डिज़ाइन करते समय, समस्या के क्षेत्र में व्यावसायिक तर्क और अर्थों को कैप्चर करने पर ध्यान केंद्रित किया जाता है। इसे इस तरह से कैप्चर किया जाना चाहिए जो व्यापार के लिए समझ में आता है, जिसमें केवल संस्थाओं और डेटा फ़ील्ड शामिल हैं। कुछ डेटा तत्वों की व्याख्या दूसरों से की जाती है, कुछ दूसरों पर निर्भर होते हैं, आदि। इसके अलावा आप इस मॉडल में किसी भी बुनियादी तर्क को जोड़ सकते हैं, जैसे कि किसी वस्तु को एक निश्चित मूल्य पर सेट करने पर आंतरिक रूप से कैसे प्रतिक्रिया होती है।
यह पूरी तरह से संभावना है कि आप 90% तक कुछ के साथ समाप्त हो जाएंगे, आप डेटा को कैसे बनाए रखेंगे। कोई बात नहीं। यह युग्मित किए बिना पूरी तरह से समान हो सकता है।
यह भी ध्यान दें कि वास्तविक दृढ़ता अज्ञान के कोहरे में डोमेन मॉडलिंग सॉफ्टवेयर डिजाइन के लिए एक पवित्र कब्र का एक सा है। यदि आप यह कर सकते हैं, शानदार। लेकिन अगर समस्या डोमेन सभी महत्वपूर्ण है और इसकी कोई जटिलता है, तो यह अभी भी समय-समय पर डेटा मॉडलिंग पर एक पवित्रता की जांच करने के लिए समय-समय पर डोमेन मॉडलिंग से वापस कदम रखने का एक अच्छा विचार है, यह सुनिश्चित करने के लिए कि आपने पेंट नहीं किया है खुद एक कोने में।
बस विभिन्न घटकों की वास्तविक भूमिकाओं को याद रखें और जब आप उन्हें डिजाइन करते हैं तो उन भूमिकाओं को अलग रखें। किसी भी डिजाइन निर्णय के लिए, अपने आप से पूछें कि क्या उन भूमिकाओं का उल्लंघन किया गया है:
- डेटाबेस - डेटा स्टोर करें, डेटा की अखंडता बनाए रखें, डेटा को आराम से बनाए रखें।
- मॉडल - व्यावसायिक तर्क को शामिल करें, समस्या डोमेन को मॉडल करें, गति में डेटा बनाए रखें, व्यवसाय-स्तर की घटनाओं पर प्रतिक्रिया दें, आदि।
- दृश्य - उपयोगकर्ताओं के लिए वर्तमान डेटा, उपयोगकर्ता-साइड लॉजिक निष्पादित करें (मॉडल में वास्तविक सत्यापन से पहले मूल सत्यापन किया जाता है, आदि)।
- नियंत्रकों - उपयोगकर्ता घटनाओं के प्रति प्रतिक्रिया, मॉडल पर नियंत्रण, मार्ग अनुरोध और वापसी प्रतिक्रियाएं।