डोमेन संचालित डिजाइन में, डोमेन सेवाओं में ऐसे ऑपरेशन होना चाहिए जो स्वाभाविक रूप से किसी इकाई के अंदर न हों।डीडीडी डोमेन सेवाएं: सेवा कक्षा में क्या होना चाहिए?
मैं को आदत इसके अंदर इकाई और समूह के कुछ तरीकों प्रति एक सेवा (Organization
इकाई और OrganizationService
सेवा) बना लिया है।
लेकिन अधिक मैं इसके बारे में सोचो: OrganizationService
कुछ भी मतलब नहीं है कि, "संगठन" है नहीं एक सेवा है, यह एक बात है।
तो अभी मुझे एक संगठन गहरी प्रति कार्यक्षमता जोड़नी है जो पूरे संगठन को कुल मिलाकर डुप्लिकेट करेगी, इसलिए मैं इसे एक सेवा में रखना चाहता हूं।
मुझे क्या करना चाहिए: OrganizationService::copyOrganization(o)
?
या मुझे करना चाहिए: OrganizationCopyService::copyOrganization(o)
?
अधिक आम तौर पर: एक "सेवा" एक अमूर्त अवधारणा है जिसमें कई परिचालन होते हैं, या एक सेवा एक ठोस संचालन है?
संपादित: अधिक पहले एक दिया उदाहरण है कि अच्छा नहीं था:
StrategyService::apply()/cancel()
याStrategyApplicationService::apply()/cancel()
? (यहां "एप्लिकेशन" एप्लिकेशन परत से संबंधित नहीं है;)CarService::wash()
याCarWashingService::wash()
?
इन सभी उदाहरणों में सबसे विशिष्ट सेवा नाम सबसे उपयुक्त लगता है। आखिरकार, वास्तविक जीवन में, "कार धोने की सेवा" कुछ ऐसा है जो समझ में आता है। लेकिन मैं कई सेवाओं के साथ समाप्त हो सकता हूं ...
* नोट: यह राय के बारे में कोई सवाल नहीं है! यह डोमेन संचालित डिजाइन पद्धति के बारे में एक सटीक, उत्तरदायी प्रश्न है। "मुझे चाहिए" पूछते समय मैं हमेशा करीबी वोटों से थक जाता हूं, लेकिन चीजों को करने का एक डीडीडी तरीका है। *
संगठन क्यों क्लोन किया जा रहा है? उस प्रश्न का उत्तर वास्तव में सेवा प्रदान करने के बारे में कुछ और बता सकता है। मैं वास्तव में जानना नहीं चाहता - मैं बस अपनी विचार प्रक्रिया को डोमेन में वापस लाने की कोशिश कर रहा हूं ... – MattDavey
@ मैटडेवी मैं देखता हूं कि आपका क्या मतलब है। लेकिन मुझे डर है कि यह इतना आसान है: उपयोगकर्ता मौजूदा संगठन को "कॉपी"/"डुप्लिकेट" करना चाहता है क्योंकि वह पिछले एक की तरह एक नया दिखाना चाहता है। मैं इस पर आपके विचारों का स्वागत करता हूं :) –
* "उपयोगकर्ता" कॉपी "/" मौजूदा डुप्लिकेट करना चाहता है ... "* - ऐसा लगता है कि उपयोगकर्ता ने आपको हल करने की समस्या के बजाय लागू करने का समाधान दिया है! असली समस्या यह है कि नए संगठनों को खरोंच से बनाना बहुत समय ले रहा है?इस मामले में आप एक सेवा प्रदान कर रहे हैं जो इस प्रक्रिया को तेज करता है? – MattDavey