2011-01-24 12 views
6

कौन सा बेहतर दृष्टिकोण है, पहले बच्चे की संस्थाएं बनाएं, फिर उन्हें जोड़ने के लिए कुल रूट पर जाएं, या कुल रूट उन्हें बनाएं? उदाहरण के लिए:कुल जड़ों में बाल संस्थाओं को जोड़ने का अनुशंसित तरीका क्या है?

Order.AddOrderLine(new OrderLine(product, quantity, ...)); 

या

Order.AddOrderLine(product, quanity, ...); 

जो एक बेहतर तरीका है? मुझे यकीन है कि यह पूरी तरह से व्यक्तिपरक है, लेकिन मैं देखना चाहता हूं कि कौन सा पेशेवर बनाम विपक्ष है।

+0

वे परस्पर अनन्य क्यों हैं? –

उत्तर

4

ठीक है, तो मूल रूप से मेरी राय है, कि तुम से पहले एक वस्तु बनाना चाहिए है क्योंकि:

  • वस्तु का निर्माण अपने आप में एक अलग चिंता का विषय है, जो जिस तरह से एक काफी जटिल हो सकता है। और यदि, उदाहरण के लिए, OrderLine का कन्स्ट्रक्टर बाद में बदला जाएगा तो आपको Order प्रकार भी बदलना होगा। यह बुरा है, क्योंकि आपको OrderLine में कुछ बदलावों के कारण Order को बदलने की आवश्यकता होगी। तो Order रूट का इंटरफ़ेस OrderLine पर निर्भर नहीं होना चाहिए।

  • दूसरा दृष्टिकोण यदि आप विधि केवल this.OrderLines.Add(orderLine);

बुला संपादित मेरा एक दोस्त के साथ इस पर चर्चा के बाद की exept कुछ अतिरिक्त तर्क शामिल होंगे परीक्षण करने के लिए मुश्किल हो सकता है, मैं के साथ आया था निम्नलिखित राय:

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

  • इस दृष्टिकोण का उपयोग करने से हम आने वाली ऑर्डरलाइन को मान्य करने की चिंता करने की भी अनुमति नहीं देते हैं, क्योंकि यदि हम ऑर्डरलाइन निर्माण के लिए ज़िम्मेदार हैं तो हम इसे ठीक से बना सकते हैं।

+1

अब यह उपयोगी चीजें है। युग्मन ने कभी नहीं देखा। –