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