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

Posted 前进道路上的程序猿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软件架构设计原则-接口隔离原则相关的知识,希望对你有一定的参考价值。

前言

接口隔离原则是指用多个专门的接口,而不适用单一的总接口,接下来,我们一个实际的案例来解释

案例

首先我们定义一个动物类IAnimal 接口,接口有eat、fly、swim三种活动

public interface IAnimal 
    void eat();
    void fly();
    void swim();

然后我们定义鸟类Bird实现动物类IAnimal 接口

public class Bird implements IAnimal
    @Override
    public void eat() 
    @Override
    public void fly() 
    @Override
    public void swim() 

这是我们需要实现接口的相关的方法,但是此时Bird类没有游泳这个功能,所以不需要swim这个类
又例如我们兴建一个Dog类实现动物类IAnimal 接口

public class Dog implements IAnimal
    @Override
    public void eat()  
    @Override
    public void fly() 
    @Override
    public void swim() 

此时,Dog没有fly的功能,所以这个类不需要fly这个方法
这里就是不复合接口隔离原则,那么我们就需要细化接口如下

public interface IEatAnimal 
    void eat();

public interface IFlyAnimal 
    void fly();

public interface ISwimAnimal 
    void swim();

然后我们的具体动物需要那种功能就实现相应的接口如下

public class Dog implements IEatAnimal,ISwimAnimal
    @Override
    public void eat() 
    @Override
    public void swim() 

public class Bird implements IEatAnimal,IFlyAnimal
    @Override
    public void eat() 

    @Override
    public void fly() 

以上是关于软件架构设计原则-接口隔离原则的主要内容,如果未能解决你的问题,请参考以下文章

手撸golang 架构设计原则 接口隔离原则

设计模式软件设计七大原则 ( 接口隔离原则 | 代码示例 )

软件架构设计的七大原则

设计模式-软件设计原则4-接口隔离原则

软件架构设计原则

产品架构设计原则