संक्षिप्त उत्तर: मुझे लगातार, समृद्ध, डोमेन ऑब्जेक्ट पसंद हैं।
लांग जवाब:
लगभग 10 साल मैं एक काफी बड़े प्रणाली ~ स्प्रिंग और हाइबरनेट का उपयोग कर 500k एलओसी पर काम किया है। शुरुआत में, हमने "लेनदेन स्क्रिप्ट" (फाउलर देखें) दृष्टिकोण से शुरुआत की, आंशिक रूप से क्योंकि हम हाइबरनेट पर भरोसा नहीं करते थे। हालांकि, थोड़े समय में, हम हाइबरनेट पर भरोसा करने आए और काफी शुद्ध ओओ में अपने पहले के प्रशिक्षण के कारण, मैं एक डोमेन संचालित डिजाइन दृष्टिकोण के साथ संयुक्त क्षणिक दृढ़ता में एक बड़ा आस्तिक बन गया। हम मूल रूप से ओडीबीएमएस के साथ समर्थित होने के रूप में हमारे सिस्टम के बारे में सोचने आए (बहुत सारे छोटे रिसाव :-))।
मैंने अपने आर्किटेक्चर को "डोमेन कर्नेल" कहा क्योंकि पुस्तक डीडीडी अभी तक लिखी नहीं गई थी। यह हाइबरनेट के प्रारंभिक दिनों में था, इसलिए डोमेन मॉडल एनोटेशन के साथ प्रदूषित नहीं हुआ था। एक्सएमएल मैपिंग में दृढ़ता की अलग चिंता अलग रखी गई थी।
फिर से, समय के साथ, हम डोमेन परत में व्यवहार को धक्का देने में बेहतर हो गए। हमारे पास एक सुंदर पारंपरिक नियंत्रक था -> सेवा -> दाओ -> डोमेन लेयरिंग योजना जिसे संकलन-समय निर्भरताओं के साथ लागू किया गया था। मैंने समय के साथ जो देखा वह यह है कि इस मॉडल ने हमारे सिस्टम के लिए बहुत अच्छा काम किया है, जो योजना सेटअप, व्यापार, लेखा, अनुपालन परीक्षण, बिक्री, ब्रांडिंग इत्यादि सहित 401 (के) योजना प्रबंधन के काफी जटिल डोमेन के हर पहलू का प्रतिनिधित्व करता है। डोमेन मॉडल में मौजूदा सुविधाओं के संदर्भ में नई सुविधाओं को बनाने में सक्षम होने में एक समृद्ध डोमेन मॉडल (अपेक्षाकृत) पारदर्शी "जादुई" दृढ़ता के साथ महत्वपूर्ण था।
हमारी सेवा परत ने केवल तकनीकी सेवाओं (जैसे ईमेल, फ़ाइल I/O, क्यूइंग आदि) के बीच बातचीत को ऑर्केस्ट्रेट किया और आवश्यक होने पर डोमेन पैकेजों को विस्तारित करने में मदद की। सेवा परत ने लेनदेन सीमा (वसंत के माध्यम से) को भी परिभाषित किया। सेवाओं को केवल डीटीओ या प्राइमेटिव प्राप्त या उत्सर्जित किया जाता है। बहुत से लोग उस से नफरत करते हैं, डीआरवाई में एक ब्रेक के रूप में, लेकिन हमने पाया कि सेवा इंटरफेस और उनके द्वारा उपयोग किए जाने वाले कोड को परिभाषित करते समय हमें ईमानदार रखा गया। यह बाद में दूरस्थ चीजों के लिए भी बहुत आसान बना दिया।
इस दृष्टिकोण ने हमें एक बहुत छोटी टीम के साथ उच्च गुणवत्ता वाले सॉफ्टवेयर बनाने की अनुमति दी (हम एक स्क्रम टीम थे)।
तो, मुझे लगातार डोमेन ऑब्जेक्ट्स में एक आस्तिक मानें। पता नहीं है कि मेरी कहानी मदद करता है, लेकिन मैं साझा करना चाहता था।
इस प्रस्तुति को देखें http://www.infoq.com/presentations/Clean-Model-Tim-McCarthy – MikeSW
धन्यवाद, यह एक महान प्रेसीडेंस दिखता है! अब देख रहा है ... – HolySamosa