इन सीमाओं का मुख्य कारण चिंताओं का पृथक्करण है । डेटा स्टोर तक पहुंचने वाले कोड को केवल डेटा स्टोर तक पहुंचने के बारे में चिंता करनी चाहिए। यह डेटा पर नियमों को लागू करने के लिए ज़िम्मेदार नहीं होना चाहिए। इसके अतिरिक्त यूआई को यूआई में नियंत्रण को अपडेट करने, उपयोगकर्ता इनपुट से मान प्राप्त करने और डोमेन परत का उपयोग करने के लिए उन्हें अनुवाद करने और कुछ भी नहीं करने के लिए जिम्मेदार होना चाहिए। इसे डोमेन लेयर द्वारा प्रदान की गई कार्रवाई को किसी भी आवश्यक कार्य को करने के लिए कॉल करना चाहिए (जैसे इस फ़ाइल को सहेजना)। एक वेब सेवा जिसे कहा जाता है, उसे ट्रांसमिशन माध्यम से कुछ डोमेन परत का उपयोग करने के लिए परिवर्तित करने के लिए जिम्मेदार होना चाहिए, और फिर डोमेन परत को कॉल करें (अधिकांश उपकरण आपके लिए यह बहुत काम करते हैं)।
यह पृथक्करण, जब ठीक से लागू किया जाता है, तो आप दूसरों को प्रभावित किए बिना अपने कोड के कुछ हिस्सों को बदलने की क्षमता रख सकते हैं। उदाहरण के लिए, शायद वस्तुओं के लौटाए गए संग्रह के क्रम को बदलना होगा। चूंकि आप जानते हैं कि डेटा हेरफेर (आमतौर पर व्यापार तर्क परत) के लिए जिम्मेदार परत इस सामान को संभालती है, आप आसानी से पहचान सकते हैं कि कोड को कहां बदलना है। साथ ही यह संशोधित करने की आवश्यकता नहीं है कि यह डेटा स्टोर, या डोमेन (ऊपर मेरे उदाहरण से यूआई और वेब सेवा) का उपयोग करने वाले किसी भी अनुप्रयोग से कैसे पुनर्प्राप्त किया जाता है।
अंतिम लक्ष्य अपने कोड को यथासंभव आसान बनाना है।
एक साइड नोट के रूप में, कुछ चीजें कबूतर-होली डोमेन की एक विशिष्ट परत (जैसे लॉगिंग, सत्यापन और प्राधिकरण) में नहीं हो सकती हैं। इन वस्तुओं को आमतौर पर क्रॉस-कटिंग चिंताओं के रूप में संदर्भित किया जाता है, और कुछ मामलों में एक परत के रूप में माना जा सकता है जो अपने आप खड़ी होती है जिसे अन्य सभी परतें देख और उपयोग कर सकती हैं।
व्यक्तिगत रूप से मुझे लगता है कि स्तरित दृष्टिकोण पुराना है, और सेवा दृष्टिकोण बेहतर है। आपके पास अभी भी रेत में खींची जाने वाली स्टार्क लाइन है जो कि क्या करता है, लेकिन यह आपको पदानुक्रमित होने के लिए मजबूर नहीं करता है। उदाहरण के लिए, एक खरीद आदेश सेवा, एक बिलिंग सेवा और एक शिपिंग सेवा, इन सभी सेवाओं के अनुप्रयोग के दृष्टिकोण से आपके डोमेन का प्रतिनिधित्व करते हैं, और ऊपर वर्णित जिम्मेदारी की अवहेलना अभी भी इस संदर्भ में मान्य है, यह सिर्फ इस तरह बदल दिया गया है आपका डोमेन कई स्थानों पर मौजूद है, आगे की अवधारणा अवधारणा के अलगाव का उपयोग करता है।