欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

接口隔离原则笔记

程序员文章站 2024-03-16 22:12:58
...

接口隔离原则笔记
百度百科解释"客户端不应该依赖它不需要的接口。一个类对另一个类的依赖应该建立在最小的接口上."
看如下一个例子:

public interface IAnimalAction {
    void eat();
    void fly();
    void swim();

}

狗类

public class Dog implements IAnimalAction {

     @Override
    public void eat() {

    }

    @Override
    public void fly() {

    }

    @Override
    public void swim() {

    }
    
}

狗类要实现动物的功能,就必须实现动物接口的全部方法。但狗不会飞,你见个狗会飞吗?通俗点说,不要强迫客户使用它们不用的方法,如果强迫用户使用它们不使用的方法,那么这些客户就会面临由于这些不使用的方法的改变所带来的改变。
改进如下:
将eat()和swim()方法抽取出来,各作为一个接口。

public interface IEatAnimalAction {
    void eat();
}
public interface ISwimAnimalAction {
    void swim();
}

狗类要游泳,吃东西,只需实现ISwimAnimalAction,IEatAnimalAction接口即可。

public class Dog implements ISwimAnimalAction,IEatAnimalAction {

    @Override
    public void eat() {

    }

    @Override
    public void swim() {

    }
}

结构图如下:
接口隔离原则笔记