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