- 概念:指用多个专门的接口,而不使用单一的总接口,客户端不应该依赖它不需要的接口
- 注意:
- 一个类对另一个类的依赖应该建立在最小的接口之上
- 建立单一接口,不要建立庞大臃肿的接口
- 尽量细化接口,接口中的方法尽量少(适度)
- 设计接口的时候,需要多花时间去思考,要考虑业务模型,包括对未来有可能发生变更的地方还要做的一些预判
- 符合高内聚、低耦合的设计思想,可以使类具有很好的可读性、可扩展性和可维护性。
事例一: 动物园
public interface IAnimal{
void eat();
void fly();
void swim();
}
public class Bird implements IAnimal{
@Override
public void eat(){}
@Override
public void fly(){}
@Override
public void swim(){}
}
public class Dog implements IAnimal{
@Override
public void eat(){}
@Override
public void fly(){}
@Override
public void swim(){}
}
改造后:
public interface IEatAnimal{
void eat();
}
public interface IFlyAnimal{
void fly();
}
public interface ISwimAnimal{
void swim();
}
public class Dog implements ISwimAnimal,IEatAnimal{
@Override
public void eat(){}
@Override
public void swim(){}
}
public class Bird implements IFlyAnimal,IEatAnimal{
@Override
public void eat(){}
@Override
public void fly(){}
}