Law of Demeter के कानून इंगित करता है कि आप केवल वस्तुओं है कि आप के बारे में सीधे पता करने के लिए बात करनी चाहिए। यही है, अन्य वस्तुओं से बात करने के लिए विधि श्रृंखला का प्रदर्शन न करें। जब आप ऐसा करते हैं, तो आप मध्यस्थ वस्तुओं के साथ अनुचित संबंध स्थापित कर रहे हैं, coupling अन्य कोड पर आपका कोड।युग्मन, सामंजस्य और Demeter
यह बुरा है।
समाधान वर्ग आप के बारे में अनिवार्य रूप से सरल रैपर उस वस्तु इसके साथ संबंध नहीं है करने के लिए ज़िम्मेदारी सौंपना बेनकाब करने के लिए पता है के लिए किया जाएगा।
यह अच्छा है।
लेकिन, उस वर्ग कम cohesion होने में परिणाम लगता है। अब यह ठीक से ज़िम्मेदार नहीं है कि यह क्या करता है, लेकिन इसमें प्रतिनिधि भी हैं जो एक अर्थ में, कोड को इसके संबंधित ऑब्जेक्ट के इंटरफ़ेस के हिस्सों को डुप्लिकेट करके कम संयोजक बनाते हैं।
यह बुरा है।
क्या यह वास्तव में एकजुटता को कम करने में परिणाम देता है? क्या यह दो बुराइयों में से कम है?
क्या यह विकास के उन भूरे क्षेत्रों में से एक है, जहां आप लाइन कहां पर बहस कर सकते हैं, या लाइन को आकर्षित करने का निर्णय लेने के लिए मजबूत, सिद्धांतबद्ध तरीके हैं और निर्णय लेने के लिए आप किस मानदंड का उपयोग कर सकते हैं ?
एक छोटे से विषय के विषय में मैं दृढ़ता से टेड फैयंस की सिफारिश करता हूं "घटना-आधारित प्रोग्रामिंग: घटनाओं को सीमा तक ले जाना" [लिंक] (http://books.google.co.uk/books?id=9CL446IzhuAC&pg=PA38&lpg= PA38 और डीक्यू = घटनाओं + अध्याय + एक + युग्मन और स्रोत = बीएल और ओ टी एस = qmJTOuCz90 और sig = EZKvZBjF8QmGohatC97HsmAqG0c & hl = hi & Ei = wj6tTqe5LcTX8gON_YyiCw और सा = एक्स और Oi = book_result और सीटी = परिणाम और resnum = 6 और वेद = 0CEMQ6AEwBQ # v = onepage & q = घटनाओं%% 20one% 20coupling & f = झूठी 20chapter)। यह आम युग्मन मुद्दों पर एक बड़ा टूटना देता है और किसी दिए गए सिस्टम में युग्मन की मात्रा को मापने की एक अच्छी प्रणाली देता है –
जब एलओडी का उल्लंघन होता है, तो अतिरिक्त लिंक ** "अनुचित" हैं, की प्रकृति पर निर्भर करता है लिंक्ड क्लासेस **: यदि वे बहुत प्रमुख हैं (एक्सेल के कार्यान्वयन में पंक्ति, कॉलम, सेल सोचें), तो उनके साथ युग्मन असंगत है और एलओडी अत्यधिक प्रतिबंधित है। इसी तरह यदि प्रश्न में कक्षाएं उद्देश्य से केवल कक्षा वर्ग हैं, तो अनिवार्य रूप से कोई व्यवहार नहीं है। –