2010-02-24 8 views
12

मेरे पास एक कर्मचारी और एक टीम के बीच कई से अधिक assocition है। पूर्वानुमान इकाई मेरे पास एक भंडार है।बेस्टप्रैक्टिस: क्या यह एक एमवीसी-नियंत्रक में एक से अधिक भंडार का उपयोग करने के लिए स्वीकार्य है?

अब मैं एएसपी.नेट एमवीसी का उपयोग करता हूं और मैंने एक कर्मचारी नियंत्रक बनाया है। मैंने एक कर्मचारी को संपादित करने के लिए एक दृश्य भी बनाया। इस विचार के लिए मुझे सभी टीमों के साथ ड्रॉपडाउनलिस्ट की आवश्यकता है। समस्या यह है कि मेरे कर्मचारी नियंत्रक को केवल कर्मचारी रिपोजिटरी मिली है। तो मैं सभी टीम कैसे प्राप्त कर सकता हूं? मेरा समाधान अब दो भंडारों का उपयोग करना है।

लेकिन क्या यह एक अच्छा समाधान है?

क्या मैं इसके बजाय TeamController बना सकता हूं और सभी टीमों को लौटने का तरीका लिख ​​सकता हूं (मैं यह कैसे करूँगा)?

उत्तर

8

हां, यह नियंत्रक के लिए दो रिपॉजिटरीज़ के संदर्भ में पूरी तरह से स्वीकार्य है।

असल में, मेरे नियंत्रक अधिक से अधिक रिपोजिटरी के साथ काम करते हैं।

1

आमतौर पर आप कुल रूट के लिए एक संग्रह बनायेंगे। भंडार में नियंत्रक के लिए आबादी वाली इकाइयों को वापस करने के तरीके होंगे।

यदि संस्थाएं आपके डोमेन मॉडल में पूरी तरह से असंबंधित हैं तो आप आवश्यक डेटा प्राप्त करने के लिए दो अलग-अलग भंडारों को लपेटने वाली सेवा बनाना चाह सकते हैं।

+1

जो कई से अधिक संगठनों में कुल रूट है :)? मेरे डोमेन मॉडल में मेरे पास एक द्विपक्षीय कई-से-कई संगठन हैं। मैं खुद से पूछता हूं कि जब मैं इसके बजाय एक unidirectional संबंध बनाते हैं तो मुझे क्या लाभ होगा। कर्मचारी कुल रूट की तुलना में होगा। टीम के पास कर्मचारी के साथ केवल एक रिश्ता है इसलिए मुझे लगता है कि यह ठीक रहेगा। – Rookian

+0

सहमत हुए, एक ही मुद्दे का सामना करते समय मैं रिपोजिटरी को लपेटने के लिए एक डोमेन सेवा के साथ गया हूं। – blu

+1

मेरा सुझाव 1 है: डोमेन नियमों के संदर्भ में तर्कसंगत रूप से एक समग्र रूट है या नहीं। यदि नहीं, 2: एक डोमेन सेवा का उपयोग करें। अन्य लोगों ने + वोटों के साथ सेवाओं का सुझाव दिया है, इसलिए इसे कम किया जा रहा है संदिग्ध है। – blu

3

स्मार्ट जाना चाहते हैं? नियंत्रकों के अंदर भंडार का उपयोग न करें। इसके बजाय डोमेन सेवाओं का उपयोग करें। जब आपको लगता है कि एक नियंत्रक कई सेवाओं के काम को एकीकृत करता है तो यह इतना बुरा नहीं लगता है?

10

यह ठीक है, लेकिन एक बार जब आपको लगता है कि नियंत्रक बहुत अव्यवस्थित हो जाता है, तो आप refactor its dependencies to an Aggregate Service कर सकते हैं।

संबंधित मुद्दे

 संबंधित मुद्दे