【设计模式】迪米特法则

42 篇文章 0 订阅

迪米特法则LoD

        Law of Demeter 最少知识原则(Least Konwledge Principle,简写LKP)。如果两个类不彼此直接通信,那么这两个类就不应当发生直接的相互作用。如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个调用。


根本思想

       强调类之间的松耦合。类之间的耦合越弱,越有利于复用,一个处在弱耦合的类被修改,不会对有关系的类造成波及。

 

分类

      狭义中介者的确定分为:

1.当前对象本身(this

2.以参量形式传入到当前对象方法中的对象

3.当前对象的实例变量直接引用的对象

4.当前对象的实例变量如果是一个聚集,那么聚集中的元素也都是朋友

5.当前对象所创建的对象


     广义类的设计上体现:

1.优先考虑将一个类设置成不变类。

2.尽量降低一个类的访问权限。

3.谨慎使用Serializable。

4.尽量降低成员的访问权限。

优点

      降低类之间的耦合

 

缺点

    系统中存在大量的中介类,这些类之所以存在哎完全是为了传递类之间的相互调用关系,这就在一定程度上增加了系统的复杂度

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值