2009-03-08 11 views
10

क्या व्यापार वस्तु और इकाई के बीच कोई अंतर है?व्यापार वस्तुओं बनाम इकाइयों

यदि मैं एक पीओसीओ प्रकार की कक्षा को परिभाषित करना चाहता हूं, तो एक उत्पाद वर्ग कहें, क्या यह एक व्यावसायिक वस्तु या इकाई होगी?

public class Product { 
    public int ID { get; set; } 
    public string Name { get; set; } 
    public double Price { get; set; } 
    public string Sku { get; set; } 
} 

नोट वहाँ इस वस्तु के भीतर कोई कार्यक्षमता है।

+0

मेरे अपने "नियम" के अनुसार जो मैंने अपने उत्तर में वर्णित किया है - आपके द्वारा प्रस्तुत कक्षा एक इकाई होगी। –

उत्तर

12

मैं इसे एक डीटीओ (डेटा ट्रांसफर ऑब्जेक्ट) कहूंगा। मैंने उन्हें कई बार "संपत्ति वर्ग" भी कहा है। मैं इसे एक व्यावसायिक वस्तु नहीं कहूंगा क्योंकि इसका कोई व्यवहार नहीं है और परिभाषा द्वारा बीओ को उनके व्यवहार से परिभाषित किया जाता है।

+3

यह विकिपीडिया के अनुसार विरोधाभासी है: http://en.wikipedia.org/wiki/Business_object - "जबकि कोई प्रोग्राम कक्षाओं को कार्यान्वित कर सकता है, जो आम तौर पर व्यवहारों को प्रबंधित करने या निष्पादित करने वाली वस्तुओं में समाप्त होता है, एक व्यावसायिक वस्तु आमतौर पर कुछ भी नहीं करती है लेकिन रखती है उदाहरण चर या गुणों का एक सेट " –

0

मुझे नहीं लगता कि व्यापार वस्तुओं और संस्थाओं के बीच स्पष्ट अंतर है। विभिन्न प्रैक्शनर्स विभिन्न संस्करणों का उपयोग करने लगते हैं।

इन टिप्पणियों को Ayende द्वारा देखें।

5

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

0

शब्द "इकाई" आमतौर पर "चीज़" कहने का एक और अधिक प्रचलित तरीका के रूप में प्रयोग किया जाता है। उदाहरण के लिए इकाई रिलेशनशिप आरेखों पर विचार करें - चित्र जो चीजों के बीच संबंध दिखाते हैं।

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

+0

मैं "इकाई" विवरण से सहमत हूं लेकिन आप "व्यावसायिक वस्तु" के साथ "व्यावसायिक इकाई" को मिलाते हैं। – Gray

0

मेरी अनुभव इकाइयों में आमतौर पर CRUD से जुड़े होते हैं। बिजनेस ऑब्जेक्ट्स भी strategies, नीतियों आदि जैसी गैर-लगातार वस्तुएं हो सकती हैं।

6

सभी संस्थाएं व्यावसायिक वस्तुएं हैं, लेकिन सभी व्यावसायिक वस्तुएं संस्थाएं नहीं हैं।

संस्थाएं व्यावसायिक वस्तुएं हैं जिनकी पहचान उनके गुणों से नहीं परिभाषित की जाती है, लेकिन पहचानकर्ता द्वारा उत्पाद की आईडी की तरह।

किसी ऐसे व्यवसाय ऑब्जेक्ट का एक उदाहरण जो एक इकाई नहीं है रंग हो सकता है। रंग अपनी पहचान अपने आरबीजी मूल्यों से प्राप्त करता है।

मैं निश्चित रूप से Entities and Value Objects in Domain-Driven Design का जिक्र कर रहा हूं।

+0

मैं कहूंगा कि एक रंग को * मान वस्तु * माना जाता है। यह इसके मूल्य से पहचाना जाता है और एक ही मूल्य के साथ कई उदाहरण समान मानते हैं। आमतौर पर वीओ भी अपरिवर्तनीय हैं। रंग लाल नहीं बदलता है। –

0

क्या व्यापार वस्तु और इकाई के बीच कोई अंतर है?

विकिपीडिया "business object" को परिभाषित करता है जैसा कि मैं "इकाई" कहता हूं। इस परिभाषा के साथ मेरे लिए भ्रम शब्द "व्यवसाय" में है क्योंकि "व्यापार तर्क" संस्थाओं के लिए ऑर्थोगोनल है। एक "इकाई" (डीटीओ, "डेटा इकाई", आदि) फ़ील्ड के साथ एक वस्तु है और सेट/विधि प्रकार प्राप्त करें। इसमें डेटा होता है लेकिन इसमें न्यूनतम (यदि कोई है) तर्क होता है।

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

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