设计心法之接口隔离原则

接口隔离原则(ISP):

关键词:接口的职责要单一

定义:

  • 客户端不应依赖他不需要的接口
  • 类间的依赖关系应当建立在最小的接口上(最小接口也就是接口中没有多余的方法)
    接口隔离原则告诉我们,不要把一大堆方法塞进一个接口里,导致这个接口变得臃肿无比。应该要根据实际需要,让接口中只有用得上的方法,也就是说要细化我们的接口。
    尽量将臃肿庞大的接口拆分成更小的和更具体的接口,让接口中只包含客户感兴趣的方法。接口隔离原则和单一职责原则都是为了实现提高类的高内聚,降低他们之间的耦合性,体现了封装的思想。

优点:

  • 提高系统的灵活性和可维护性。
  • 降低系统的耦合性。
  • 保证系统的稳定性。
  • 使用多个专门的接口还能体现对象的层次,因为可以通过接口的继承,实现对总接口的定义。
  • 能减少项目工程中的代码冗余。

最佳实践:

  • 接口尽量小,但是要有限度。一个接口只服务于一个子模块或业务逻辑。
  • 为依赖接口的类定制服务。只提供调用者需要的方法,屏蔽不需要的方法。
  • 了解环境,拒绝盲从。每个项目或产品都有选定的环境因素,环境不同,接口拆分的标准就不同,深入了解业务逻辑。
  • 提高内聚,减少对外交互,使接口用最少的方法去完成最多的事情。
    接口隔离原则与单一职责的不同点:
  • 单一职责原则注重的是职责,而接口隔离原则注重的是对接口依赖的隔离
  • 单一职责原则主要约束类,它针对的是程序中的实现和细节;接口隔离原则主要针对抽象和程序整体框架的构建。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容