2012-08-10 11 views
5

मुझे एक स्टोरऑनर इकाई मिली है। StoreOwner में एक स्टोर संपत्ति है।जब उपयोगकर्ता की कहानी माता-पिता का उल्लेख करती है, तो व्यवहार कहाँ रहना चाहिए, लेकिन कार्रवाई एक बच्चे पर है?

एक दुकान के मालिक के रूप में, मैं अपने स्टोर करने के लिए एक उत्पाद का जोड़ सकते हैं:

public class Product { } 

public class Store { 
    public IEnumerable<Product> Products { get; private set; } 
} 

public class StoreOwner { 
    public Store Store { get; private set } 
} 

मैं निम्नलिखित उपयोगकर्ता कहानी मिल गया है।

"स्टोर में उत्पाद जोड़ने" का व्यवहार कहाँ रहना चाहिए? StoreOwner या स्टोर पर?

यदि यह स्टोर है, तो विधि का नाम क्या होगा?

+0

मैं, मान लें कि इसका मतलब यह व्यवहार है "स्टोर पर कोई उत्पाद जोड़ने", नहीं "स्टोर जोड़ने" बाद निकलता है के रूप में कुछ वास्तव में दुकान में ही निर्माण करने के लिए है । सही? –

+0

सही! टाइपो के लिए खेद है। –

उत्तर

4

मैं इसे Store में रखूंगा, क्योंकि मैं अनुमान लगा रहा हूं कि उत्पाद संग्रह Store में एक बाल इकाई है। उत्पाद संग्रह को उजागर करने के विरोध में Store.AddProduct() की तरह कुछ।

अगर वहाँ यकीन है कि केवल वर्तमान स्वामी यह कर सकते हैं, मेरा मानना ​​है कि इस वैकल्पिक में Store केवल Store यदि पहले से ही मालिक के बारे में ज्ञान है अंतर्गत आता है बनाने के लिए तर्क है, लेकिन निश्चित रूप से सब AddProduct की कोशिश कर रहा से पहले सत्यापित की जानी चाहिए ।

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

1

"स्टोर जोड़ने" का व्यवहार कहां रहना चाहिए? StoreOwner या स्टोर पर?

मैं तुम्हें उत्पाद

जोड़ने अर्थ है कि मेरे लिए होता विधि Store का एक हिस्सा होने मान। कुछ store.AddProduct(product) की तरह। आप किसी उत्पाद को तब तक नहीं जोड़ सकते जब तक कि यह कुछ सैलून शैम्पू या कुछ

+0

विधि का नाम क्या होगा? –

1

मैंने जो सबसे अच्छा दृष्टिकोण लिया है, वह हमेशा यह देखना है कि किसके पास है।

तो:

StoreOwner एक स्टोर एक स्टोर उत्पाद

तो अपनी कहानी के आधार पर ऊपर उपयोग के मामले आप तो कह सकते हैं कि Store.AddProduct (newproduct) यांद शामिल का मालिक है,

0

यदि आपके पास StoreOwner उदाहरण तक पहुंच है तो आपको केवल उत्पाद जोड़ने में सक्षम होना चाहिए, अन्यथा Store कक्षा में विधि डालें।

नाम AddProduct स्पष्ट लगता ...