के विकिपीडिया साथ शुरू करते हैं:डेमेटर का कानून क्या है?
अधिक औपचारिक रूप से, कार्यों के लिए Demeter के कानून की आवश्यकता है कि एक विधि एक वस्तु का मीटरहे केवल वस्तुओं में निम्न प्रकार के विधियां प्रारंभ हो सकता है:
- हे ही
- मीटर के मापदंडों
- किसी ऑब्जेक्ट का निर्माण/मी
भीतर instantiated 63,210- हे की प्रत्यक्ष घटक
- एक वैश्विक चर, सुलभ वस्तुओं हे द्वारा, मीटर के दायरे में
नियम 1:
public class ClassOne {
public void method1() {
method2();
}
public void method2() {
}
}
नियम 2:
public class ClassOne {
public void method1(ClassTwo classTwo) {
classTwo.method2();
}
}
class ClassTwo {
public void method2() {
}
}
नियम 3:
public class ClassOne {
public void method1() {
ClassTwo classTwo = new ClassTwo();
classTwo.method2();
}
}
class ClassTwo {
public void method2() {
}
}
नियम 4 (धन्यवाद @juharr):
public class ClassOne {
private ClassTwo classTwo;
public void method1() {
classTwo = new ClassTwo();
classTwo.method2();
}
}
class ClassTwo {
public void method2() {
}
}
नियम 5:
?
किसी को भी मुझे नियम 5 के साथ मदद कर सकते हैं?
और डेमेटर का कानून यह नहीं दर्शाता कि चेनिंग खराब है?
User.getName().getLastName();
इससे उच्च युग्मन होता है।
एक समान सिद्धांत "बताओ, मत पूछो" नहीं है?
तो यह सब कुछ है? क्या मैं कुछ गलत हूँ? आप डेमेटर के कानून का पालन कैसे कर सकते हैं?
हां, मूल रूप से "डेमेटर" को यह कहने के लिए पढ़ा जा सकता है: चेनिंग खराब है। अंतिम चीज पर कुछ करने के लिए आपको कुछ पाने के लिए कुछ नहीं मिलता है। – GhostCat
नियम 4 है यदि 'क्लासऑन' के पास 'क्लासटवो' प्रकार का एक निजी क्षेत्र (घटक) है, तो आप उस क्षेत्र पर 'क्लासऑन' में अपनी विधि से विधियों को कॉल कर सकते हैं। – juharr
@juharr धन्यवाद! – Anonymous