设计模式六大设计原则(五):最少知识原则

一、定义

一个对象应该对其他对象有最少的了解。

在介绍具体含义之前先解释下什么是朋友类:

出现在成员变量、方法的输入输出参数中的类称为成员朋友类,而出现在方法体内部的类不属于朋友类。

最少知识原则的包含的具体含义:

  • 只和朋友交流。类与类之间的关系是建立在类间的,而不是方法间,因此一个方法尽量不引入一个类中不存在的对象。换句话说在方法中应尽量避免调用朋友返回的对象(朋友的朋友)的方法。当然,JDK API提供的类除外。
  • 朋友间也是有距离的。尽量不要对外公布太多的public方法和非静态的public变量,尽量内敛,多使用private、package-private、protected等访问权限。
  • 是自己的就是自己的。如果一个方法放在本类中,既不增加类间关系,也对本类不产生负面影响,那就放置在本类中。

二、优缺点

(一)优点

降低模块间的耦合,提升了软件的可维护性和可重用性。

(二)缺点

在系统里造出大量的小方法,这些方法仅仅是传递间接的调用,与系统的业务逻辑无关。

三、建议

  • 如果一个类跳转两次以上才能访问到另一个类,就需要想办法进行重构了。
  • 需要反复权衡,既做到让结构清晰,又做到高内聚、低耦合。

转载于:https://my.oschina.net/u/4101481/blog/3033025

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值