软件设计七大原则:(四)接口隔离原则
一、接口隔离原则简介
- 用多个专门的接口,而不再使用单一的总接口,客户端不应该依赖它 不需要的接口。
- 一个类对一个类的依赖应该建立在最小的接口上。
- 建立单一接口,不要建立庞大臃肿的接口。
- 尽量细化接口,接口中的方法尽量少。
- 注意:注意适度原则,一定要适度,过大的话会增加耦合性,而过小的话会增加复杂性和开发成本。
- 优点:符合我们常说的高内聚低耦合的设计思想,从而使得类具有很好的可读性、可扩展性和可维护性。
二、代码实现
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() {
}
}
三、关于接口隔离原则的理解
/**
* 细粒度可以组装,粗粒度不能拆分,这样可以提高程序可维护性和可扩展性。
*
* 接口隔离原则与单一职责不同的是,单一职责原则指的类/接口/方法是单一的,
* 只要接口的职责是单一的,里面可以有五个、十个方法也是可以的。针对的是程序中实现和细节。
*
* 而接口隔离原则注重的是对接口依赖的隔离。针对的是抽象、程序整体。
*/
还没有评论,来说两句吧...