2011-03-14 14 views
7

क्या आमतौर पर इंटरफेस के बीच समेकित संघों को रखा जाता है?यूएमएल कक्षा आरेखों में इंटरफेस एकत्रीकरण

उदाहरण:

Example Diagram

यहाँ, मुझे लगता है कि एक एकत्रीकरण अनावश्यक है। इंटरफेस के बीच एक और अधिक महत्वपूर्ण है, क्योंकि कक्षाओं के ग्राहक इसका उपयोग करेंगे। बीएमडब्ल्यू और लक्ज़रीहेल हमेशा आईकर और आईविल के माध्यम से उपयोग किया जाएगा। हालांकि, आईकर वास्तव में IWheel को एकत्र नहीं करता है, क्योंकि यह एक इंटरफ़ेस है और इसमें कोई वास्तविक तर्क नहीं है। बीएमडब्ल्यू स्पष्ट रूप से लक्ज़रीहेल को जोड़ता है लेकिन यह लगभग एक कार्यान्वयन विस्तार है।

आप इसे कैसे मॉडल करेंगे? क्या यूएमएल में एकत्रीकरण (या एसोसिएशन) को अमूर्त, या लागू करने के रूप में चिह्नित करने का कोई तरीका है?

उत्तर

9

आप UML spec को देखें, तो आपको लगता है कि 7.3.24 में मिल जाएगा:

विशेष रूप से, इंटरफेस के बीच एक संबंध का तात्पर्य है कि एक अनुरूप संघ इंटरफेस की कार्यान्वयन के बीच मौजूद होना चाहिए।

तो, हाँ, आप इंटरफेस के बीच एकत्रीकरण आकर्षित कर सकते हैं, लेकिन आपके आरेख का सटीक अर्थ यह नहीं हो सकता कि आप क्या उम्मीद करते हैं।

+0

7.3.24 प्रासंगिक लगता है। अगर मैं उस खंड को पढ़ता हूं (और उदाहरण को देखें) ऐसा लगता है कि कोई ठोस वर्गों के बीच संबंध को स्पष्ट रूप से मॉडल नहीं करता है। वे इंटरफेस के बीच संबंध के माध्यम से निहित हैं। इसका मतलब है कि बीएमडब्ल्यू और लक्ज़रीहेल के बीच संबंध अतिप्रवाह है। – TheFogger

+0

@TheFogger: ठीक है, यह सवाल है ... यदि spec में "अस्तित्व में होना चाहिए" का अर्थ है कि यह मॉडल में होना चाहिए, तो जब आप इंटरफेस के बीच संबंध रखते हैं, तो आपके पास आईकर के उदाहरण के बीच संबंध होना चाहिए (बीएमडब्ल्यू) और आईविल (लक्ज़रीहेल)। दूसरी तरफ, कभी-कभी मैं यूएमएल स्पेक के प्राकृतिक भाषा विवरणों से बहुत आश्वस्त नहीं हूं, और मैं कहूंगा कि आपने उन ग्रे क्षेत्रों में से एक में प्रवेश किया है। हो सकता है कि आपको एक अमूर्त वर्ग एकर का उपयोग करना चाहिए जिसमें इंटरफेस के बजाय एविल्स का एकत्रीकरण हो। यही कारण है कि ज्यादातर लोग आरामदायक होंगे। – ShiDoiSi

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