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