软件架构设计原则--接口隔离原则

2022-12-02 10:20:20 浏览数 (2)

本专栏内容参考自:咕泡学院Tom老师的《Spring5核心原理与30个类手写实战》,仅作个人学习记录使用,如有侵权,联系速删

  接口隔离原则(Interface isolation principle,ISP)是指用多个专门的接口,而不是用单一的总接口,客户端不应该依赖它不需要的接口。   这个原则知道我们在设计接口时应当注意以下几点:

  1. 一个类对另一个类的依赖应当建立在最小的接口上。
  2. 建立单一的接口,不要建立庞大臃肿的接口。
  3. 尽量细化解耦,接口中的方法尽量少(不是越少越好)

  接口隔离原则符合我们常说的高内聚、低耦合的设计思想,可以使类具有很好的可读性、可扩展性和可维护性。我们在设计接口的时候,要多花时间去思考,要考虑业务模型,包括对哟吼可能发生变更的地方还要做一些预判。   所以,对于抽象、对于业务模型的理解是非常中重要的。

比如现在有个动物接口:

代码语言:javascript复制
public interface IAnimal {
    void eat();
    void fly();
    void swim();
}

提供了吃、飞、游泳三个方法。 现在有一个Dog实现了它,显然狗是不能飞的,那么里面的fly方法是不是就空着了。 那么这就不符合接口隔离原则了,怎么改进呢? 把三种行为拆分为三个接口,让每个动物实现他们各自需要的就行了。

0 人点赞