Wetts's blog

Stay Hungry, Stay Foolish.

0%

设计模式之禅-第4章-六大设计原则-接口隔离原则

接口分为两种:

  • 实例接口(Object Interface),在Java中声明一个类,然后用new关键字产生一个实例,它是对一个类型的事物的描述,这是一种接口。
  • 类接口(Class Interface),Java中经常使用的interface关键字定义的接口。

隔离的两种定义:

  • Clients should not be forced to depend upon interaces that they don’t use.(客户端不应该依赖它不需要的接口。)
  • The dependency of one class to another one should depend on the smallest possible interface.(类间的依赖关系应该建立在最小的接口上。)

4层含义:

  1. 接口要尽量小
  2. 接口要高内聚
  3. 定制服务
  4. 接口设计是有限度的

接口隔离原则在实践中可以根据以下几个规则来衡量:

  • 一个接口只服务一个子模块或业务逻辑;
  • 通过业务逻辑压缩接口中的public方法,接口时常去回顾,尽量让接口达到“满身筋骨肉,而不是”肥嘟嘟“的一大堆方法;
  • 已经被污染了的接口,尽量去修改,若变更的风险较大,则采用适配器模式进行转化处理;
  • 了解环境,拒绝盲从。