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