11

मैं .NET MVC 3 कोड-प्रथम दृष्टिकोण का उपयोग कर रहा हूं। मेरे डोमेन एक इकाई Question कहा जाता है, इस इकाई एक Score संपत्ति है कि है Byte है और मैं एक Enum है कि संपत्ति की जगह है और इस EnumScore के नाम जहाँ मैं 0 से 10एमवीसी परियोजना संरचना में enums कहाँ रहना चाहिए?

कहाँ चाहिए करने के लिए मूल्यों को निर्धारित कर सकते हैं करना चाहते हैं Enums उस संरचना में रहते हैं? मेरे मॉडल फ़ोल्डर में एनम्स नामक फ़ोल्डर में?

अद्यतन:

अपने प्रोजेक्ट संरचना है कि में मॉडल फ़ोल्डर:

enter image description here

उत्तर

1

ऐसा लगता है कि आपके पास एक मूल्य वस्तु है। मैं इसे उसी स्थान पर रखूंगा जहां आप अपने डोमेन में अन्य मूल्य वस्तुएं डालते हैं, जो वास्तव में आपके फ़ोल्डर संरचना पर निर्भर करता है। निश्चित रूप से मॉडल फ़ोल्डर में, लेकिन यदि आप मॉडल फ़ोल्डर को विभाजित कर रहे हैं, तो यह इस बात पर निर्भर करता है कि आप यह कैसे कर रहे हैं। क्या आपके पास एक प्रश्न & एक उपफोल्डर है? शायद यह प्रश्नों के बगल में जाता है। या आपके पास वैल्यू ऑब्जेक्ट सबफ़ोल्डर है? शायद वहाँ।

+0

अपडेट देखें ... .... –

+0

उस स्थिति में मैं एक नया वैल्यू ऑब्जेक्ट सबफ़ोल्डर बनाउंगा और इसे वहां रखूंगा। – Domenic

1

जब तक उन्हें डाल करने के लिए एक बेहतर जगह है, मैं उन्हें मॉडल फ़ोल्डर में चिपके रहते हैं।

यदि आपके पास बहुत सारे Enums हैं, तो हो सकता है कि आप फ़ोल्डर विचार करना चाहें जो आप कर रहे थे। मुझे नहीं लगता कि मैं इसे "enums" कहूंगा हालांकि यह बहुत वर्णनात्मक नहीं है।

5

आपको वास्तव में चिंतित होना चाहिए नामस्थान आपके enums के बारे में।

भले ही आपकी कक्षा फ़ाइल समाधान में मौजूद है, आपका कोड नामस्थानों पर भरोसा करेगा। मैं सोच रहा हूं कि आप शायद नामस्थान चाहते हैं जैसे: Questiona2011.Enums। एनम कक्षाओं को Models नामस्थान में बांधना अच्छा नहीं होगा - ऐसा नहीं कि यह नहीं किया जा सकता है, लेकिन कभी-कभी विचारों को आपके enums के साथ बातचीत करने की आवश्यकता हो सकती है। तो मैं अपने enums एक अलग नामस्थान देने के लिए करते हैं।

आपको कक्षा फ़ाइल के लिए फ़ोल्डर बनाने की आवश्यकता नहीं है ... यदि आप चाहें तो रूट निर्देशिका में रख सकते हैं - वास्तविक कारक नामस्थान है।

तो इसलिए की तरह नाम स्थान के साथ एक वर्ग बनाने के लिए:

using System; 

namespace Questiona2011.Enums 
{ 
    public enum Score 
    { 
     One = 1, 
     Two = 2, 
     . 
     . 
     . 
     Ten = 10 
    } 
} 

कहा करने के बाद कि, मैं बस मॉडल फ़ोल्डर में वर्ग फ़ाइल ड्रॉप चाहते हैं। :)

0

यदि आपकी परियोजना संगठन के बारे में चिंतित होने के लिए काफी बड़ी हो रही है, तो आपको एक नई परियोजना बनाने पर विचार करना चाहिए जो आपके अनुप्रयोगों के प्रकार के लिए सिर्फ एक डीएलएल है।