设计模式六大原则之----接口隔离原则

一、定义

建立单一的接口,功能尽量细化,
不要建立臃肿的接口。

  • 不依赖不需要的接口,剔除不需要的接口
  • 最小接口,对接口进行细化,方法数最少

友情提醒:xmind导出的图片有点模糊,请放大查看
这里写图片描述

二、 问题的由来

2.1 问题

如下图,类C和类D分别实现接口I,I中有5个方法,在子类Class C中只需要用到1、2、3,但确需要实现所有方法;在子类Class D中,本来只需要用到4、5,也需要实现所有方法。
这里写图片描述

2.2 解决方案

遵循接口隔离原则。细化接口I1,内部只包含方法1、2、3,让Class C实现;创建接口I2,内部只包含4、5,让ClassD实现它。

三、 单一职责和接口隔离原则的区别

  • 单一原则:注重职责,业务逻辑的划分
  • 接口隔离原则:重点在接口的方法数更少

四、 特点

  • 接口尽量小
    • 拆分接口,接口隔离的核心定义,不出现臃肿的接口
      • 不违反单一原则把一个业务拆分成两个接口
      • 遵循单一原则,避免臃肿
  • 接口高内聚
    • 提高类、接口、模块的处理能力,减少与外界交互
    • 具体:public越少越好,后期也越好维护
  • 定制服务
    • 起源 : 系统模块间的耦合需要有相互访问的接口, 这里就需要为各个 客户端 的访问提供定制的服务接口;
    • 只提供需要的接口,不需要就不提供
  • 接口隔离限度
    • 粒度越小,接口越灵活,但同时使系统变复杂,维护难度增加
    • 粒度越大,灵活性越低,无法提供定制服务,增大项目风险

五、 原子接口划分原则

  • 接口模块对应关系:一个接口只服务于一个子模块或业务逻辑
  • 方法压缩:通过业务逻辑压缩接口中的public方法,减少接口的方法数量
  • 修改适配:尽量去修改已经被污染的接口,如果变更过大,使用适配器模式处理
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
设计模式是软件设计中常用的最佳实践,它们是解决常见问题和复用已验证解决方案的经验总结。六大原则是 SOLID 原则,这些原则有助于编写可扩展、灵活且易于维护的代码。以下是 SOLID 原则及其优点: 1. 单一职责原则(Single Responsibility Principle, SRP): 每个类只做一件事,使其更易于测试和理解。优点是提高了模块的独立性和重用性。 2. 开闭原则(Open-Closed Principle, OCP): 对扩展开放,对修改关闭。通过接口或抽象类,可以在不修改原有代码的情况下增加新功能。这增强了系统的灵活性。 3. 里氏替换原则(Liskov Substitution Principle, LSP): 子类可以替换其基类而不会影响程序的正确性。确保子类继承的行为是一致的,有利于代码的可替换和适应变化。 4. 接口隔离原则(Interface Segregation Principle, ISP): 尽可能细化接口,避免大量无关的抽象方法,提高代码的可定制性。 5. 依赖倒置原则(Dependency Inversion Principle, DIP): 高层模块不应该依赖低层模块,两者都应依赖抽象。这样有利于模块间的解耦和测试。 6. 里氏替换原则(Liskov Substitution Principle, LSP,我在上一条已经提到了,这是个笔误,实际是单一职责原则,SOLID中有四个原则,没有LSP)。 遵循这些原则能帮助开发者编写出清晰、灵活、易于理解和维护的代码,提高团队协作效率,并且有助于项目的长期可持续发展。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值