软件设计七大原则:(四)接口隔离原则

一、接口隔离原则简介

  • 用多个专门的接口,而不再使用单一的总接口,客户端不应该依赖它 不需要的接口。
  • 一个类对一个类的依赖应该建立在最小的接口上。
  • 建立单一接口,不要建立庞大臃肿的接口。
  • 尽量细化接口,接口中的方法尽量少。
  • 注意:注意适度原则,一定要适度,过大的话会增加耦合性,而过小的话会增加复杂性和开发成本。
  • 优点:符合我们常说的高内聚低耦合的设计思想,从而使得类具有很好的可读性、可扩展性和可维护性。

二、代码实现

1.违背接口隔离的反例

public interface AnimalAction {
    
    
    void eat();
    void fly();
    void swim();
}
public class Bird implements AnimalAction {
    
    
    @Override
    public void eat() {
    
    

    }

    @Override
    public void fly() {
    
    

    }

    @Override
    public void swim() {
    
    

    }
}
public class Dog implements AnimalAction {
    
    
    @Override
    public void eat() {
    
    

    }

    @Override
    public void fly() {
    
    

    }

    @Override
    public void swim() {
    
    

    }
}

2.遵循接口隔离原则的正确示范

public interface SwimAnimalAction {
    
    
    void swim();
}
public interface EatAnimalAction {
    
    
    void eat();
}
public interface FlyAnimalAction {
    
    
    void fly();
}

public class Dog implements SwimAnimalAction, EatAnimalAction {
    
    
    @Override
    public void eat() {
    
    

    }

    @Override
    public void swim() {
    
    

    }
}
public class Bird implements EatAnimalAction,FlyAnimalAction,SwimAnimalAction {
    
    

    @Override
    public void eat() {
    
    
        
    }

    @Override
    public void fly() {
    
    

    }

    @Override
    public void swim() {
    
    

    }
}

三、关于接口隔离原则的理解

    /**
     * 细粒度可以组装,粗粒度不能拆分,这样可以提高程序可维护性和可扩展性。
     *
     * 接口隔离原则与单一职责不同的是,单一职责原则指的类/接口/方法是单一的,
     * 只要接口的职责是单一的,里面可以有五个、十个方法也是可以的。针对的是程序中实现和细节。
     *
     * 而接口隔离原则注重的是对接口依赖的隔离。针对的是抽象、程序整体。
     */

猜你喜欢

转载自blog.csdn.net/qq_41378597/article/details/106599907