मैं (अब पहले से कहीं अधिक) को देखने के डेवलपर्स जैसे परतों की भारी मात्रा में लिखें: सी # ब्लॉग के माध्यम खोज रहे हैंसबकुछ कम से कम युग्मित और विस्तार योग्य रखना: बहुत सारी परतें, बहुत छोटी आरओआई?
implementation PresentationLayer ->
interface IMyDTO ->
implementation MyDTO ->
interface IMyService ->
implementation MyService ->
interface IMyDomainRepository ->
implementation MyDomainRepository ->
interface IMyDomainObject ->
implementation MyDomainObject ->
interface IMyIndependentStorageLayer ->
implementation MyMSSQLStorageLayer
, इस कटा हुआ रोटी के बाद से सबसे अच्छी बात लगती है। असल में, सब कुछ कमजोर युग्मित है। सीधे डोमेन ऑब्जेक्ट का उपयोग न करें। एक सेवा परत के माध्यम से सब कुछ चलाओ। एक भंडार के माध्यम से डेटा का उपयोग करें। सभी परतें पूरी तरह से स्वतंत्र हैं।
मुझे गलत मत समझो, मुझे विचार पसंद है, लेकिन समय पर व्यापार बंद नहीं है, खासकर एक बड़ी परियोजना पर? क्या रखरखाव में आरओआई वास्तव में इसे उचित ठहराने के लिए काफी बड़ा है?
जो स्पष्टीकरण मैंने पढ़ा है वे अजीब तरह हैं, जैसे कि "अगर मुझे आवश्यकता हो तो मैं एक अलग डेटाबेस संलग्न कर सकता हूं"। वास्तव में? मुझे नहीं लगता कि यह एक आम समस्या है कि कोई अचानक अचानक एमएसएसएलएल से ओरेकल में स्विच करने की मांग करता है और अब आप वहां बैठते हैं और चाहते हैं कि आपके पास दस लाख परतें हों जो सभी एक दूसरे के बारे में नहीं जानते।
क्या ढीले युग्मन के साथ ओवरबोर्ड जाने पर कोई प्रवृत्ति है, या क्या मैं सिर्फ गलत ब्लॉग पढ़ रहा हूं? आप इसके बारे में कैसा महसूस करते हैं, और क्या आपके पास ऐसे उदाहरण थे जहां आप वास्तव में खुश थे कि आपने शुरुआत में अतिरिक्त काम किया था?
अधिकांश समय आप बाद में पुन: प्रयोज्य होने के बावजूद नहीं जानते थे? इसके लिए आपको जानना होगा कि आप एक साल बाद क्या काम करेंगे? – Alex
यह एक अच्छा मुद्दा है। जब आप एक निश्चित परत संरचना का उपयोग करने का निर्णय लेते हैं, तो आप उन स्थानों पर नया कोड डाल देंगे जहां इसे शुरुआत से ही पुन: उपयोग किया जा सकता है। एकाधिक नियंत्रकों द्वारा एक सेवा का उपयोग किया जा सकता है, कई सेवाओं द्वारा एक रेपॉजिरी विधि का उपयोग किया जा सकता है और इसी तरह। तो जब भी आप शुरू करते हैं तो यह कड़ी मेहनत और सट्टा हो सकता है, कुछ फायदे तत्काल होंगे। मेरे लिए, सिस्टम को टेस्ट करने योग्य बनाना आमतौर पर इन निर्णयों में एक बड़ा कारक है। मुझे लगता है कि यदि आप लाइव डेटाबेस पर निर्भरता को हटा सकते हैं और दृश्य के प्रतिपादन भाग को हटा सकते हैं, तो शेष आमतौर पर बिल्कुल सही हो जाएंगे। –