搜索
您的当前位置:首页正文

软件设计原则--接口隔离原则

来源:好走旅游网
  • 接口细化适度, 接口中方法应该尽量少,但不是越少越好
  • 接口单一化,不要建立庞大臃肿的接口
  • 一个类对另一个类的依赖应该建立在最小接口之上
  • 接口隔离符合高内聚,低耦合.具有很好的可读性,扩展性和可维护性

设计接口时,需要多花时间思考,考虑业务模式,预判之后可能出现变更或者新的需求
所以,对于业务模型的理解是非常重要的
以动物行为进行抽象描述

public interface IAnimal {
    void swim();
    void run();
    void fly();
}

鸟类

public class Bird implements IAnimal {
    @Override
    public void swim() { }
    @Override
    public void run() { }
    @Override
    public void fly() { }
}

狗类

public class Dog implements IAnimal {
    @Override
    public void swim() { }
    @Override
    public void run() { }
    @Override
    public void fly() { }
}

很显然,鸟肯定是不能 “游” 的,swim方法只能空着, 狗的fly方法也是不能实现的.
针对不同动物行为设计不同的接口
飞翔接口

public interface IFlyAnimal {
   void fly();
}

奔跑接口

public interface IRunAnimal {
    void run();
}

游泳接口

public interface ISwimAnimal {
    void swim();
}

狗只用实现游泳和奔跑接口

public class Dog implements IRunAnimal, ISwimAnimal {
    @Override
    public void run() { }
    @Override
    public void swim() { }
}

因篇幅问题不能全部显示,请点此查看更多更全内容

Top