开发中三个经典的原则
2015-10-12 17:55
267 查看
开发中三个经典的原则
单一职责:一个类,一个方法专注做一件事情。不要混合多个目标。
比如我的"绑定手机接口",目标的确是干一件事情:绑定
但是里面还是要判断:这个手机号是不是被占用,还要判断绑定历史,判断手机白名单
只不过把判断绑定历史,判断白名单,封装成单独的方法来调用。
把判断绑定历史,判断白名单,封装成单独的方法
这样就是单一职责。以后其他地方需要用到,就调用这个方法
开放-闭合:是 1998年提出来的。对扩展要开放,容易扩展就是开放。对修改不允许,这是闭合。电脑硬件中的各个组件,是可以自己组装,方便进行扩展(cpu和内存都是 自己可以换)。但是有些东西是不能让你修改的。比如内存,电源设备,这些内部封闭起来。不允许去修改内存里面,把电源拆开修改。这样以保证稳定性。
归纳为:对扩展功能是开放,对修改内部机制是屏蔽掉,不允许修改。
接口之间要进行隔离原则:比如有多个接口,不要混合成一个接口实现。能拆分成多个接口,隔离起来。这样做的好处,修改a接口,不会污染到b接口。从另外一个角度来看,一个接口完成了多件事情,与单一职责的思想是类似的。
以上纯根据自己理解写出来。上面原则其实太抽象,空洞。需要随着编码遇到的坑越来越多,把例子举出来,会更加加深对这些原则的理解。
单一职责:一个类,一个方法专注做一件事情。不要混合多个目标。
比如我的"绑定手机接口",目标的确是干一件事情:绑定
但是里面还是要判断:这个手机号是不是被占用,还要判断绑定历史,判断手机白名单
只不过把判断绑定历史,判断白名单,封装成单独的方法来调用。
把判断绑定历史,判断白名单,封装成单独的方法
这样就是单一职责。以后其他地方需要用到,就调用这个方法
开放-闭合:是 1998年提出来的。对扩展要开放,容易扩展就是开放。对修改不允许,这是闭合。电脑硬件中的各个组件,是可以自己组装,方便进行扩展(cpu和内存都是 自己可以换)。但是有些东西是不能让你修改的。比如内存,电源设备,这些内部封闭起来。不允许去修改内存里面,把电源拆开修改。这样以保证稳定性。
归纳为:对扩展功能是开放,对修改内部机制是屏蔽掉,不允许修改。
接口之间要进行隔离原则:比如有多个接口,不要混合成一个接口实现。能拆分成多个接口,隔离起来。这样做的好处,修改a接口,不会污染到b接口。从另外一个角度来看,一个接口完成了多件事情,与单一职责的思想是类似的。
以上纯根据自己理解写出来。上面原则其实太抽象,空洞。需要随着编码遇到的坑越来越多,把例子举出来,会更加加深对这些原则的理解。
相关文章推荐
- StarUML---推荐一款UML工具(很好很强大)
- CISCO学习笔记(四)Trunk功能及端口模式
- android 使用drawable将显示状态和数据分离
- 有意思的小程序之悬挂指针
- 004redis的基本命令+help的用法
- Xcode的小标记旁边的文件的名称的作用
- ios9 3dtouch 博客
- Windows下Apache使用问题总结(持续更新)
- 从源码的角度说说Activity的setContentView的原理(二)
- 有关hash算法 及 哈希表的应用
- 系统集成知识点整理(四)成本管理
- android中URLConnection和HttpURLConnection
- iOS 这一段时间的感悟
- 查找邮件日志
- [LeetCode]Climbing Stairs
- (转)ecshop刷新页面出现power by ecshop和链接的解决办法
- 注释模板设置
- macSpriteKit
- Number of 1 Bits
- 配置nginx的web服务,结果报403错误