面向对象设计原则 接口分离原则(Interface Segregation Principle)
接口隔离原则
使用多个专门的接口,而不使用单一的总接口,即客户端不应该依赖那些它不需要的接口。
从接口隔离原则的定义可以看出,他似乎跟SRP有许多相似之处。
是的其实ISP和SRP都是强调职责的单一性, 接口隔离原则告诉我们在定义接口的时候要根据职责定义“较小”的接口,不要定义“高大全”的接口。
也就是说接口要尽可能的职责单一,这样更容易复用,暴露给客户端的方法更具有“针对性”。
遵守接口隔离原则,会使代码量增加不少,源码中也是这样。
当方法随着业务需求的增加而不断增加的话,如果我们不应用接口隔离原则,那么就可能形成一个庞大臃肿的接口,这样的接口的可维护性和重用性是很差的。
在项目开发中,依赖几个专用的接口要比依赖一个综合的接口更加灵活。通过分散定义多个接口,可以预防外来变更的扩散,提高系统的灵活性和可维护性。
虽然接口隔离原则很有意义,但在实际项目中,应该注意度的把握,接口设计的过大或过小都不好,应该根据实际情况多思考再进行设计。
最新文章
- 微信支付(.NET版)
- Java maven安装GDAL
- 怎样从C#中打开数据库并进行 增 删 改 查 操作
- 【BZOJ】【1912】【APIO2010】patrol巡逻
- 2435: [Noi2011]道路修建 - BZOJ
- 开源Web安全测试工具调研
- leetcode面试准备: Game of Life
- GUI编程笔记(java)10:GUI实现一级菜单
- js传递数组到后台
- 【HDOJ 1086】 模板水过
- react+redux+generation-modation脚手架添加一个todolist
- 修改VS2017新建类模板文件添加注释
- Beta冲刺第二周王者荣耀交流协会第六次会议
- React项目中使用Mobx状态管理(二)
- 递归和非递归分别实现求n的阶乘
- Pronunciation Guide for 25 Common Fruits
- windows下解决PyCharm控制台中文输出乱码
- loadrunner 性能测试报error-27796的解决
- Servlet—基础
- 《Linux内核精髓:精通Linux内核必会的75个绝技》一HACK #18 向ext4转换