最简单直接地理解Java软件设计原则之接口隔离原则

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

最简单直接地理解Java软件设计原则之接口隔离原则

蜗牛学编程   2021-02-01 我要评论

理论性知识

定义

接口隔离原则, Interface Segregation Principle,(ISP)。

一个类对应一个类的依赖应该建立在最小的接口上;

建立单一接口,不要建立庞大臃肿的接口;

尽量细化接口,接口中的方法尽量少。

优点

  • 符合高内聚,低耦合的设计思想;
  • 使类具有很好的可读性,可扩展性和可维护性;

代码实战demo

本次我们以动物场景为例

 不遵守接口隔离原则的demo

首先定义一个动物接口,存在吃,飞,游泳3个行为方法,如下图

 

接下来定义一个cat类,实现动物接口。因为猫只有eat行为,不具备fly和swim。这样就必须实现两个空的方法。如下图。

 

遵守接口隔离原则的demo

首先我们将动物接口拆分细化成下面3个图的接口。

 

 

 

再次定义一个cat类,只实现猫具有的行为接口即可(实现了接口隔离),如下图

 

同样定义dog类,狗具有eat和swim行为,同样只实现dog有的行为接口即可,如下图

 

为了让大家理解得更彻底,再定义个雄鹰。

定义eagle(雄鹰)类,雄鹰具有eat和fly行为,同样只实现eat和fly接口即可,如下图

 

综合分析

上述案例中,将动物的eat,fly和swim 行为拆分成不同的接口,让动物只实现其本身具备的行为接口,这就是高内聚的体现。不实现不具备的行为接口就是低耦合的体现。再次结合接口隔离原则定义,应该是很容易理解的。

最后说一下接口隔离原则和单一职责原则的区别

  • 单一职责原则注重的是职责(功能),接口隔离原则注重对接口依赖的隔离。
  • 单一职责原则主要是约束类,其次才是接口和方法,它针对的是程序中的实现和细节;而接口隔离原则主要约束接口。主要针对抽象,针对程序整体框架的构建。

猜您喜欢

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们