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

1、定义

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

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

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

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

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

2、优缺点

(一)优势

下降模块间的耦合,提高了软件的可维护性和可重用性。权限

(二)缺点

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

3、建议

  • 若是一个类跳转两次以上才能访问到另外一个类,就须要想办法进行重构了。
  • 须要反复权衡,既作到让结构清晰,又作到高内聚、低耦合。
相关文章
相关标签/搜索