软件设计模式六大原则-接口隔离原则 Interface Segregation Principle
程序员文章站
2022-06-28 17:19:58
设计模式六大原则:单一职责原则设计模式六大原则:接口隔离原则设计模式六大原则:依赖倒置原则设计模式六大原则:里氏替换原则设计模式六大原则:迪米特法则 设计模式六大原则:开闭原则定义:用多个专门的接口,而不是使用单一的总接口客户端不应该依赖他不要的接口注意:一个类对应一个类的依赖应该简历在最小接口上建立单一接口,不要简历庞大臃肿的解耦尽量细化接口,接口中的方法尽量少注意适度原则,一定适度优点:符合我们常说的高内聚,低耦合的设计思想从而使得类具有很好的可读性,可扩展性和可维护性...
设计模式六大原则:单一职责原则
设计模式六大原则:接口隔离原则
设计模式六大原则:依赖倒置原则
设计模式六大原则:里氏替换原则
设计模式六大原则:迪米特法则
设计模式六大原则:开闭原则
定义:
用多个专门的接口,而不是使用单一的总接口
客户端不应该依赖他不要的接口
注意:
一个类对应一个类的依赖应该简历在最小接口上
建立单一接口,不要简历庞大臃肿的解耦
尽量细化接口,接口中的方法尽量少
注意适度原则,一定适度
优点:
符合我们常说的高内聚,低耦合的设计思想
从而使得类具有很好的可读性,可扩展性和可维护性
我们拿动物作为例子:动物都会吃,我们把动物的共有特性抽象为一个接口
然后我们把一些种类特有的性质抽象为一个接口,示例如下:
都会吃
public interface IAnimal {
public void eat();
}
有的会飞
public interface IFlyAnimal {
public void fly();
}
有的会游泳
public interface ISwimAnimal {
public void swim();
}
那么我们以依赖最少的原则来定义实现我们的具体的动物
Bird 会吃但是不游泳 会飞所以是实现了 IAnimal,IFlyAnimal 这两个接口
public class Bird implements IAnimal,IFlyAnimal {
@Override
public void eat() {
System.out.println("会吃");
}
@Override
public void fly() {
System.out.println("会飞");
}
}
dog会吃但是不会飞 会游泳所以是实现了 IAnimal,ISwimAnimal 这两个接口
public class Dog implements IAnimal,ISwimAnimal {
@Override
public void eat() {
System.out.println("会吃");
}
@Override
public void swim() {
System.out.println("会飞");
}
}
在现实场景中我们可能抽象的不会这么容易,所以在做项目的时候要多思考,如何设计才会更加合理。
本文地址:https://blog.csdn.net/ppwwp/article/details/107677784