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