iOS----------设计模式的六大设计原则------>开放-关闭原则(OCP,Open-Close Principle)
2024-08-24 07:48:36
定义
一个软件实体(如类、模块、函数)应当对扩展开放,对修改关闭。
定义解读
在项目开发的时候,都不能指望需求是确定不变化的,大部分情况下,需求是变化的。那么如何应对需求变化的情况?这就是开放-关闭原则要谈的。
开放-封闭原则的思想就是设计的时候,尽量让设计的类做好后就不再修改,如果有新的需求,通过新加类的方式来满足,而不去修改现有的类(代码)。那么在实际的项目开发中,是否能做到绝对的对修改关闭呢?答案一般也是否定的。既然这样,那么就要求我们在开发前,去找出变化点,然后针对变化点构造抽象,隔离出这些变化。由此可见,实现开闭原则关键是抽象。
优点
- 具有灵活性,通过拓展一个功能模块即可实现功能的扩充,不需修改内部代码。
- 具有稳定性,表现在基本功能类不允许被修改,使得被破坏的程度大大下降。
总结
对于设计模式的六大设计原则,单一职责原则主要说明类的职责要单一;里氏替换原则强调不要破坏继承体系;依赖倒置原则描述要面向接口编程;接口隔离原则讲解设计接口的时候要精简;迪米特法则告诉我们要降低耦合;开闭原则讲述的是对扩展开放,对修改关闭。
六大设计原则并没有很明显的界限,当我们在遵守某一个设计原则的时候,可能也遵守了其他的设计原则。设计原则是后面要讲述的设计模式的基础,因此在本系列讲述设计模式之前,对设计原则进行了解说。
最新文章
- Redis集群研究和实践(基于redis 3.0.5)
- SYSTEM表空间AUD$使用空间过大问题处理
- SharePoint 2013 Designer系列之数据视图
- 判断IP地址是否合法类
- Azure Redis Cache (4) 配置和管理Redis Cache
- HTML基础—插曲
- Mysql InnoDB行锁实现方式
- hosts文件导致打不开某些网站
- 检查string是否为double
- 关于vim打开中文文件出现乱码问题
- LoggingApplicationListener
- 安装node配置环境变量,解决某组件(如cordova,webpack等)“不是内部命令”问题
- Power Sum 竟然用原根来求
- zoj2930
- tomcat使用自签名证书实现https加密访问
- CVTE C/C++开发工程师笔试题(一)
- 淘淘商城之Ajax跨域请求
- val和var和Java
- word怎样从第三页开始设置页码
- WinForm中Application.Idle事件用法
热门文章
- [UIImage imageWithContentsOfFile:@";";] 内存警告
- c++连接mysql并提示“无法解析的外部符号 _mysql_server_init@12”解决方法&;提示缺少“libmysql.dll”
- 2018.6.9 MyEclipse连接Oracle数据库方法及步骤
- Oracle grant connect, resource to user语句中的权限
- vuex:使用思路总结
- vue-cli npm run build 打包问题 webpack@3.6
- python实现批量修改文件名
- 十七、MySQL UNION 操作符
- 短信验证码js
- jquery 省市区联动插件