女生在建筑公司的职位,网站排名优化软件有哪些,网站内容的实现方式,南京模板建网站哪家好1.引言 迪米特法则#xff08;Law of Demeter#xff09;又叫作最少知识原则#xff08;LKP,Least Knowledge Principle#xff09;#xff0c;就是说一个对象应当对其他对象有尽可能少的了解#xff0c;类与类之间的了解的越多#xff0c;关系越密切#xff0c;耦合度…1.引言 迪米特法则Law of Demeter又叫作最少知识原则LKP,Least Knowledge Principle就是说一个对象应当对其他对象有尽可能少的了解类与类之间的了解的越多关系越密切耦合度越大当一个类发生改变时另一个类也可能发生变化。 2.引经据典 核心思想最少依赖 具体体现 类内部应该高内聚设置相应的权限有选择的暴露方法这就是封装的奥秘。类的依赖关系尽量减少保持简单和独立降低耦合。一些理解有些东西可以适当的知道知道的太多对你不好。关系越复杂人越不敢接近你。要达到很高的内修养才能有很好的表现。这些江湖术语都包含一些哲理。 3.应用反思 //电灯public class Light{public void TurnOn(){if (LifeOver())Console.WriteLine(灯泡亮了);}public void TurnOff(){Console.WriteLine(灯泡黑了);}public bool LifeOver(){Console.WriteLine(寿命还在);return true;}}//电灯开关public class Switch{public void TurnOn(){Light light new Light();Console.WriteLine(打开开关);light.TurnOn();}public void TurnOff(){Light light new Light();Console.WriteLine(关上开关);light.TurnOff();}} 上面的两个类 都违反了迪米特原则Light的LifeOver是一个内部判断的问题如果外部不需要知道可以声明为 private。Switch类的两个方法都使用Light只是一个局部变量就有两处依赖可以声明为一个类的成员变量减少一个依赖。如下 //电灯public class Light{public void TurnOn(){if (LifeOver())Console.WriteLine(灯泡亮了);}public void TurnOff(){Console.WriteLine(灯泡黑了);}private bool LifeOver(){Console.WriteLine(寿命还在);return true;}}//电灯开关public class Switch{Light light new Light();public void TurnOn(){Console.WriteLine(打开开关);light.TurnOn();}public void TurnOff(){Console.WriteLine(关上开关);light.TurnOff();}} 4.规则建议 在类的划分上应当创建弱耦合的类类与类之间的耦合越弱就越有利于实现可复用的目标。在类的结构设计上每个类都应该降低成员的访问权限。在类的设计上只要有可能一个类应当设计成不变的类。在对其他类的应用上一个对象对其他类的对象的应用应该降到最低。尽量限制局部变量的有效范围。 转载于:https://www.cnblogs.com/qqlin/archive/2012/12/29/2829481.html