इकाई फ्रेमवर्क इकाइयां (ढांचे के साथ) आपकी डेटा परत हैं। कई अनुप्रयोगों में वे आपकी व्यावसायिक परत का भी हिस्सा बन जाते हैं - और यह बहस योग्य है कि यह अच्छा है या नहीं (मुझे व्यक्तिगत रूप से यह पसंद नहीं है, लेकिन जब आप इसे रेपॉजिटरी मॉडल कहते हैं तो एक अच्छा तर्क है कि आप हार रहे हैं ईएफ द्वारा प्रदान किए गए कुछ लाभ)।
इस पर निर्भर करता है कि आप अपना कोड कैसे अलग करते हैं (और ऐसा लगता है कि आप रिपोजिटरी पैटर्न का उपयोग कर रहे हैं) आपके पास कुछ व्यवसाय तर्क युक्त रिपोजिटरी हो सकती है, या एक सेवा परत भी हो सकती है (3 स्तरीय अनुप्रयोगों के लिए मेरी प्राथमिकता) व्यापार तर्क (ज्यादातर) होता है।
मैं तर्क दूंगा कि आपको व्यू मॉडल के साथ-साथ अपने प्रस्तुति मॉडल के हिस्से पर विचार करना चाहिए - लेकिन यदि आप अपने मॉडल को प्रमाणित करने के लिए एमवीसी और डेटा-एनोटेशन (जो इस नौकरी के लिए उत्कृष्ट हैं) का उपयोग कर रहे हैं तो आपने अभी तक एक ढेर किया है उन्हें व्यापार तर्क का गुच्छा।
व्यवसाय तर्क को रोकने से रोकने के लिए सबसे महत्वपूर्ण स्थान आपकी प्रस्तुति परत है, और सबसे महत्वपूर्ण रूप से आपके दृश्य और नियंत्रक हैं। आपके शेष एप्लिकेशन को कैसे व्यवस्थित करने का दृष्टिकोण आपके द्वारा चुने गए ढांचे, आपके आवेदन का स्तर और आवेदन की तैनाती संरचना पर निर्भर करता है।
दृश्य < --Presentation परत केवल
नियंत्रकों < --Presentation परत केवल (अंत हो सकता है:
तो संभव के रूप में स्पष्ट होना यह है कि क्या मैं * करना है कुछ मामलों में थोड़ा 'वसा' नियंत्रक के साथ, उदाहरण के लिए .NET सदस्यता लॉगिन)
मॉडल देखें < - प्रस्तुति परत, लेकिन अगर यहां सत्यापन करना अक्सर व्यवसाय नियमों का परीक्षण किया जा रहा है।
सेवा लेयर < --Business लेयर डाटा इस्तेमाल किया
डेटा संग्रह स्थान < हो --Could अगर परत केवल, या व्यापार परत का मिश्रण। आप भंडार पैटर्न कोशिश करते हैं और के रूप में इस तुरंत अमूर्त प्रदान करने के लिए (इस के लिए संभावित अपवाद हैं, जैसे - नेट सदस्यता) प्रयास कर रहे हैं धरा सीधे अपने DbSets में लाने से बचें, करते हैं
संस्थाओं < --Data परत, संभावित रूप से व्यापार तर्क के साथ आप अपने आवेदन को कैसे व्यवस्थित करते हैं।
* नहीं आधिकारिक
आपका क्या मतलब है "उन्हें परतों में विभाजित करें?" – user1477388
मॉडल और संस्थाओं के पास अलग-अलग दृष्टिकोण हैं। संस्थाएं (डोमेन क्लासेस) हैं कि आपका डेटा लेयर और बिजनेस लेयर डेटा का उपयोग कैसे करता है। मॉडल हैं कि आपका प्रेजेंटेशन (व्यू) डेटा का उपयोग कैसे करता है। नियंत्रक में स्थानांतरित करने के लिए ऑटोमैपर जैसे टूल का उपयोग करें। – Brian
डोमेन संस्थाओं को बीएल या डीएल में रहना चाहिए? धन्यवाद! –