博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
架构中的设计原则之接口分离原则(ISP) - 《java开发技术-在架构中体验设计模式和算法之美》...
阅读量:6893 次
发布时间:2019-06-27

本文共 787 字,大约阅读时间需要 2 分钟。

hot3.png

接口分离原则    

接口分离原则的核心思想是:不应该强迫客户程序依赖它们不需要使用的方法。英文缩写ISP,即Interface Segregation Principle。其实接口分离原则的意思就是:一个接口不需要提供太多的行为,一个接口应该只提供一种对外的功能,不应该 把所有的操作都封装到一个接口中。

这里的“接口”指的不仅仅是通过interface关键字定义的接口,接口分为如下两种。

  1. 对象接口。java中声明的一个类,通过new关键字产生的一个实例,它是对一个类型的事物的描述,这也是一种接口。

  2. 类接口。这中接口就是通过关键字interface 定义的接口。

    也就是说,接口分离原则要求的是在一个模块中应该只依赖它需要的接口,以保证接口的小纯洁。而且需要保证接口应该尽量小,即设计接口的时候应该让接口尽量细化,不要定义太臃肿的接口(比如接口中有很多不相干的逻辑方法声明)。

    接口分离原则与单一职责有些相似,不过不同在于:单一职责原则要求的是类和接口职责单一,注重的是职责,是业务逻辑上的划分。而接口分离原则要求的是接口的方法尽量少,针对一个模块尽量有用。

    在使用接口分离原则的时候,需要有一些规范。

  • 接口尽量小:接口尽量小,这主要是为了保证一个接口只服务于一个子模块或者业务逻辑。

  • 接口高内聚:接口高内聚是对内高度依赖,对外尽可能隔离。即一个接口内部声明的方法相互之间都与某一个子模块相关,且是这个子模块必须的。

  • 接口设计是有限度的:如果完全遵循接口分离原则的话,会出现一个问题,即接口的设计力度会越来越小,这样就造成了接口数量剧增,系统复杂度一下子增加了,而不是真实项目所需要的,所以在使用这个原则的时候,还要在特定的项目中,根据经验或尝试去判断,但没有一个固定的标准。

转载于:https://my.oschina.net/doctor2014/blog/405651

你可能感兴趣的文章
程序员的一生,目标、基础、技巧、理念、孕期、要求
查看>>
linux mail用法
查看>>
Java 并发:第六部分 - 原子变量
查看>>
关于分布式事务、两阶段提交、一阶段提交、Best Efforts 1PC模式和事务补偿机制的研究[转]...
查看>>
大型网站技术架构剖析
查看>>
linux六周第一次课(3月12日)笔记
查看>>
cisco LAN Base 、IP Base 、IP Server 区别
查看>>
laravel 手动分页
查看>>
搭建Samba服务器的记录
查看>>
mysql5.6的安装(rpm)
查看>>
Gamebryo实例学习之八InputDemo
查看>>
关于CSDN2013博客之星的一些看法
查看>>
android4.0编译过程错误
查看>>
超好用的Redis管理及监控工具treeNMS
查看>>
领导者的六大重要能力
查看>>
EasyUI 中file-box的赋值问题
查看>>
Zencart修改前台页面的字体颜色
查看>>
全新安装的CENTOS 7终端执行ifconfig -a,提示 Command not found
查看>>
Windows中python3.x用pip安装scrapy,提示需要C++14.0
查看>>
Windows环境MySQL5.5二进制版部署
查看>>