2011-02-01 3 views
6

डोमेन घटना उपयोग करने के लिए जब मैं जब डोमेन घटनाओं जब डबल प्रेषण उपयोग करने के लिए इस्तेमाल करते हैं और करने के लिए के साथ उलझन में हूँ। यूडी हमें मॉडल के encapsulation और एनीमिक डिजाइन से दूर रखने के लिए डोमेन घटनाओं का उपयोग करने के लिए प्रोत्साहित करता है, लेकिन मेरी राय में डोमेन घटनाओं का उपयोग केवल ऑपरेशन के बाद किया जा सकता है या अचानक समाप्त हो गया है, उस समय जब ऑपरेशन प्रगति पर है।बनाम डबल प्रेषण

उदाहरण के लिए: जबकि कुछ व्यापार तर्क मैं भंडार का उपयोग करने की जरूरत है को सुलझाने, और फिर मूल्य के आधार पर, मैं डोमेन घटनाओं बढ़ा सकते हैं। लेकिन सवाल यह है कि मॉडल व्यापार तर्क को सुलझाने के समय में भंडार का उपयोग कर सकते है, यहाँ मेरी राय में हम डबल प्रेषण इस्तेमाल कर सकते हैं।

कृपया मुझे बताओ, ऊपर बयान कर रहे हैं मान्य हैं या नहीं?

उत्तर

5

काफी ज्यादा talking about this हो गया है।

मैं व्यक्तिगत रूप से Szymon Pobiega साथ aggree:

अंगूठे का मेरा अपना नियम (के रूप में उदी द्वारा desscribed) डोमेन ईवेंट का उपयोग जब बातचीत एक तरह से बनाया जा सकता है आईओसी के एक पसंदीदा तरीका के रूप में है। यदि यह नहीं हो सकता है, तो मैं डबल प्रेषण का उपयोग करता हूं।


उदाहरण के लिए: - जबकि कुछ व्यापार तर्क मैं भंडार का उपयोग करने की जरूरत है को सुलझाने, और फिर मूल्य के आधार पर, मैं डोमेन घटनाओं बढ़ा सकते हैं।

आपकी कुल रूट में ऑपरेशन करने के लिए आवश्यक सब कुछ होना चाहिए। कुछ करने के दौरान भंडार की आवश्यकता नहीं होनी चाहिए। कुल रूट लेनदेन सीमा खींचती है।

+0

ऐसे कई उदाहरण हैं जहां आपको किसी इकाई के भीतर से मूल्य प्राप्त करने के लिए बाहरी वेब सेवाओं को कॉल करने की आवश्यकता होती है, तो आप यह कैसे करेंगे? डबल प्रेषण? एक इकाई के अंदर, सार्वजनिक शून्य DoSomething (IAplication सेवा सेवा) {... var rate = service.GetCurrentRate(); ....} – sawe

+0

@sawe से सहमत हैं मुझे लगता है कि बाहरी वेब सेवा लेने के लिए कोई अन्य वास्तविक समाधान नहीं है? डबल प्रेषण एकमात्र विकल्प की तरह लगता है। –