यूएमएल श्रेणी के आरेखों में, सीमा वर्ग, नियंत्रण वर्ग और इकाई वर्ग क्या हैं?


85

अब मैं अपनी आईडीई-पसंद के रूप में नेटबीन्स का उपयोग कर रहा हूं, और इसमें यूएमएल मॉडलिंग के लिए एक प्लगइन है। वर्ग रेखाचित्र में, वहाँ मॉडल के रूप में जाना तत्व हैं Boundary Class, Control Classऔर Entity Class। हालाँकि, मुझे उनकी अच्छी परिभाषा नहीं मिल रही है, लेकिन मुझे यह साइट UML क्लास डायग्राम पर मिली है ।

जवाबों:


23

अक्सर OOAD और व्यावसायिक मॉडलिंग के एक भाग के रूप में / के साथ उपयोग किया जाता है। नील द्वारा परिभाषा सही है, लेकिन यह मूल रूप से MVC के समान है, लेकिन व्यवसाय के लिए बस सार है। "अच्छा सारांश" अच्छी तरह से किया जाता है इसलिए मैं इसे यहां कॉपी नहीं करूंगा क्योंकि यह मेरा काम नहीं है, और अधिक विस्तृत लेकिन नील की बुलेट बिंदुओं के साथ इनलाइन है।

अच्छा सारांश - Conceito: इकाई-नियंत्रण-सीमा पैटर्न

OOAD


3
लेकिन MVC केवल लेयर व्यू के लिए है।
2078 में एलेक्स78191

2
उत्तर में जानकारी होनी चाहिए और केवल लिंक ही नहीं होना चाहिए। दुर्भाग्य से लिंक मृत है।
जोहान

2
@ ted-johnson अपडेटेड लिंक के लिए कोई मौका? धन्यवाद!
नरेश

उसी साइट से अपडेट किया गया लिंक जिसमें सामग्री थी।
टेड जॉनसन

196

उपयोग के मामलों के बाद और कक्षा के आरेखों से पहले मजबूत चित्र लिखे जाते हैं। वे उपयोग केस स्टेप्स की भूमिकाओं की पहचान करने में मदद करते हैं। आप उनका उपयोग यह सुनिश्चित करने के लिए कर सकते हैं कि आपके द्वारा उपयोग किए जा रहे सिस्टम के लिए उपयोग आवश्यकताओं का प्रतिनिधित्व करने के लिए आपके उपयोग के मामले पर्याप्त रूप से मजबूत हैं।

वे शामिल हैं:

  1. अभिनेता
  2. बक्सों का इस्तेमाल करें
  3. संस्थाओं
  4. सीमाओं
  5. नियंत्रण

जबकि मॉडल-व्यू-कंट्रोलर पैटर्न का उपयोग उपयोगकर्ता इंटरफेस के लिए किया जाता है, सिस्टम के लिए एंटिटी-कंट्रोल-बाउंड्री पैटर्न (ईसीबी) का उपयोग किया जाता है। ईसीबी के निम्नलिखित पहलुओं की तुलना MVC के एक अमूर्त संस्करण से की जा सकती है, यदि यह सहायक हो:

यूएमएल संकेतन

एंटिटीज़ (मॉडल)
ऑब्जेक्ट्स सिस्टम डेटा का प्रतिनिधित्व करते हैं, अक्सर डोमेन मॉडल से।

सीमाएँ (दृश्य / सेवा सहयोगी)
ऑब्जेक्ट जो सिस्टम अभिनेताओं के साथ इंटरफ़ेस (उदाहरण के लिए एक उपयोगकर्ता या बाहरी सेवा )। विंडोज, स्क्रीन और मेनू सीमाओं के उदाहरण हैं जो उपयोगकर्ताओं के साथ इंटरफेस करते हैं।

नियंत्रण (नियंत्रक)
ऑब्जेक्ट जो सीमाओं और संस्थाओं के बीच मध्यस्थता करते हैं। ये सीमा तत्वों और इकाई तत्वों के बीच गोंद के रूप में काम करते हैं, विभिन्न तत्वों और उनके इंटरैक्शन को प्रबंधित करने के लिए आवश्यक तर्क को लागू करते हैं। यह समझना महत्वपूर्ण है कि आप अपने डिज़ाइन के भीतर नियंत्रकों को वस्तुओं के अलावा कुछ और के रूप में लागू करने का निर्णय ले सकते हैं - उदाहरण के लिए कई नियंत्रक एक इकाई या सीमा वर्ग की एक विधि के रूप में लागू होने के लिए पर्याप्त सरल हैं।

उनके संचार पर चार नियम लागू होते हैं:

  1. अभिनेता केवल सीमा वस्तुओं पर बात कर सकते हैं।
  2. सीमा ऑब्जेक्ट केवल नियंत्रकों और अभिनेताओं से बात कर सकते हैं।
  3. इकाई वस्तुएं केवल नियंत्रकों से बात कर सकती हैं।
  4. नियंत्रक सीमा वस्तुओं और इकाई वस्तुओं और अन्य नियंत्रकों से बात कर सकते हैं, लेकिन अभिनेताओं के लिए नहीं

संचार की अनुमति है:

         Entity    Boundary   Control
Entity     X                     X
Boundary                         X
Control    X          X          X

12
टिप्पणियों को देखते हुए, यह जवाब लोगों को "इकाई सीमा नियंत्रण" और एमवीसी के बीच अंतर की सराहना करने में मदद नहीं कर रहा है। उनमें से एक यह है कि एक सीमा एक दृश्य नहीं है; यह सिस्टम का एक तत्व है जो डिजाइन के तहत क्षेत्र के बाहर के तत्वों के साथ संचार का प्रबंधन करता है, जो भी उस क्षेत्र हो सकता है। उदाहरण के लिए, आपके सिस्टम के अंदर एक PayPal REST API मुखौटा एक सीमा तत्व हो सकता है। इसके अलावा, आपके उपतंत्रों की अपनी सीमाएं हो सकती हैं। इसकी तुलना एक व्यू से करें, जो हमेशा किसी भी दृष्टिकोण से एक व्यू होता है, और हमेशा उपयोगकर्ता का सामना करना पड़ता है।
डेविड

2
इस जवाब में एक ही बात कहना शामिल है, वास्तव में: "सीमा: ऑब्जेक्ट जो सिस्टम अभिनेताओं के साथ इंटरफ़ेस (जैसे एक उपयोगकर्ता या बाहरी सेवा )"। किसी भी तरह, मेरा कहना है कि वे अलग हैं: ईसीबी एमवीसी का "सरलीकरण" नहीं है।
डेविड्स जू

एक बिंदु, इन स्टीरियोटाइप को यूएमएल विनिर्देश में परिभाषित नहीं किया जाता है ...
ग्रैनियर

16

ये विश्लेषण में प्रयुक्त वर्ग स्टीरियोटाइप हैं।

  • सीमा वर्ग प्रणाली की सीमा पर होते हैं - वे वर्ग जो आप या अन्य प्रणालियों के साथ सहभागिता करते हैं

  • इकाई वर्ग कक्षाएं आपकी विशिष्ट व्यावसायिक संस्थाएं हैं जैसे "व्यक्ति" और "बैंक खाता"

  • नियंत्रण कक्षाएं कुछ व्यावसायिक तर्क या अन्य को लागू करती हैं


5

सीमा नियंत्रण इकाई पैटर्न के दो संस्करण हैं:
- पुरानी संरचनात्मक, जिसे 127 में वर्णित किया गया है (डेटा मॉडल तत्वों के रूप में इकाई, एक फ़ंक्शन के रूप में नियंत्रण, एक एप्लिकेशन इंटरफ़ेस के रूप में सीमा)
- नया ऑब्जेक्ट पैटर्न ऑब्जेक्ट पैटर्न के


रूप में:
- सीमा एक इंटरफ़ेस है " अन्य दुनिया "
- किसी भी आंतरिक तर्क में नियंत्रण (जैसे DDD पैटर्न में एक सेवा)
- इकाई वस्तुओं के लिए एक दृढ़ता सर्वाइडी है (DDD पैटर्न में भंडार की तरह)।
सभी वर्गों का संचालन होता है (देखें फॉलर एनीमिक डोमेन मॉडल एंटी-पैटर्न) यह
सभी एमवीसी पैटर्न में एक मॉडल घटक है। नियम:
- केवल "अन्य दुनिया" के लिए सीमाएँ सेवाएं प्रदान करती हैं
- सीमा केवल
नियंत्रण के लिए कह सकती है - नियंत्रण किसी को भी कॉल कर सकती है
- इकाई किसी को भी नहीं बुला सकती (!), केवल कहा जाता है।

JZ


4

वास्तव में, रोबुनेस डायग्राम्स (या विश्लेषण आरेख, जैसा कि उन्हें कभी-कभी कहा जाता है) केवल विशिष्ट वर्ग आरेख हैं। वे यूएमएल का एक हिस्सा हैं, और शुरुआत से ही हैं (देखें जैकबसन की पुस्तक, द यूनिफाइड सॉफ्टवेयर डेवलपमेंट प्रोसेस - किताबों की "थ्री एमिगोस" श्रृंखला का हिस्सा)। उपरोक्त पुस्तक में इन तीनों वर्गों की एक अच्छी परिभाषा है पीपी 183-185।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.