मैं अपने एएसपी.नेट एमवीसी अनुप्रयोग में प्याज वास्तुकला को लागू करने के लिए देख रहा हूं। मैं डोमेन इकाइयों से व्यू मॉडल को अलग करने की आवश्यकता को समझता हूं, हालांकि मैं खुद को अनावश्यक कोड लिख रहा हूं। अनावश्यक कोड है क्योंकि मेरे व्यू मॉडल और डोमेन इकाइयां बिल्कुल अपवाद के साथ समान दिखती हैं कि मेरे दृश्य मॉडल में [सीरियलज़ेबल] डेटा एनोटेशन है। मुझे इन मॉडलों को क्रमबद्ध करने की आवश्यकता है क्योंकि मैं एएसपी.नेट सत्र राज्य का उपयोग कर रहा हूं जिसमें राज्य सर्वर को वस्तुओं को क्रमबद्ध करने की आवश्यकता है।प्याज वास्तुकला: क्या हमें अपनी डोमेन इकाइयों में डेटा एनोटेशन की अनुमति देनी चाहिए?
मैं व्यक्तिगत रूप से महसूस डोमेन संस्थाओं serializable नहीं होना चाहिए, क्योंकि यह तो एक विशेष तकनीक पर निर्भर हो जाएगा। हालांकि, मैं अनावश्यक कोड से कैसे बच सकता हूं?
मुझे यह जोड़ना चाहिए कि मेरी सेवा विधियां इन धारावाहिक डेटा मॉडल पर निर्भर हैं।
आप हमेशा एक कारखाने पैटर्न के माध्यम से एक सेवा जोड़ने में देख सकते हैं जो आपके डोमेन ऑब्जेक्ट्स को क्रमबद्ध और deserialize कर सकते हैं। – IdahoSixString
मैं अपनी व्यक्तिगत परियोजनाओं पर डीडीडी के साथ एक प्याज वास्तुकला (बंदरगाहों और एडेप्टर) का उपयोग करता हूं और मेरे दृश्य मॉडल शायद ही कभी मेरे डोमेन मॉडल की तरह कुछ भी दिखते हैं। वैकल्पिक रूप से जब मैं ग्राहकों के लिए डेटाबेस-केंद्रित परियोजना करता हूं, तो मैं उन्हें सभी परतों के माध्यम से एक ही ईएफ मॉडल का उपयोग करके देखता हूं और इसके परिणामस्वरूप मुझे इस कारणों के दर्जनों समस्याओं को सुनना पड़ता है। –
@MickyDuncan एक मॉडल गैर-तुच्छ गैर-सीआरयूडी ऐप के लिए खराब है। यह आपको एक ही स्थान पर विभिन्न उपयोग मामलों (चिंताओं) फिट करने के लिए मजबूर करता है और आप फ्रैंकेंस्टीन के राक्षस के साथ समाप्त होते हैं। और समय के साथ, वे मॉडल अलग-अलग तरीकों से विकसित होते हैं ताकि आप प्रतिभा और उत्पादक रखने के लिए एक परत प्रति परत/बाध्य संदर्भ चाहते हों। विकास में बहुत सी समस्याएं खराब डिजाइन और त्वरित/उथले समाधान के लिए जा रही हैं। – MikeSW