开闭原则(对修改封闭,对扩展开放)
开闭原则(对修改封闭,对扩展开放)
开闭原则(对修改封闭,对扩展开放)概述对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,提高程序的扩展性好,易于维护和升级。想要达到这样的效果,我们需要使用接口和抽象类。案例讲解案例一下面以 搜狗输入法 的皮肤为例介绍开闭原则的应用。
UML图如下
分析:
搜狗输入法 的皮肤是背景图片、窗口颜和声音等元素的组合。用户可以根据自己
开闭原则(对修改封闭,对扩展开放)
概述
对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,提高程序的扩展性好,易于维护和升级。想要达到这样的效果,我们需要使用接口和抽象类。
案例讲解
案例一
下面以 搜狗输入法
的皮肤为例介绍开闭原则的应用。
UML
图如下
分析:
搜狗输入法
的皮肤是背景图片
、窗口颜
和声音
等元素的组合。用户可以根据自己的喜爱更换自己的输入法的皮肤,也可以从网上下载新的皮肤。这些皮肤有共同的特点,可以为其定义一个抽象类(AbstractSkin)
,而每个具体的皮肤(DefaultSpecificSkin和HeimaSpecificSkin)
是其子类。用户窗体可以根据需要选择或者增加新的主题,而不需要修改原代码
,所以它是满足开闭原则
的。
案例二
网上的作业题
代码语言:javascript代码运行次数:0运行复制if (x == 2)
f(); //...
却因为粗心写成了:
if (x=2)
f();//...
结果花了很久才出这个运行错误。
一个进口电机故障,好久不出故障,聘请外方工程师过来迅速定位后,就收了100万美元;。。。
联系上面的例子,阐明编写代码时为何要“对修改封闭”,在遗产系统再工程时,“对扩展开放”?
我的答案: 对于小明写的代码,在语法上面没有问题,所以可以通过编译,但是在运行过程中出现bug,这就是为啥在写程序的时候要尽可能的,把错误控制在编译之前和对每一模块进行测试,而且写代码的时候需要做到对修改封闭,因为擅自修改代码,会导致这样的情况出现,就是一块功能没问题了,但是另一块地方又有问题了。
第二个例子中,工程师可以很快到故障是因为,工程师和电机遵守了开闭原则,因为这是一个进口的电机,在国内使用或多或少都有点点问题,需要扩展相关的功能,所以再遗产系统再工程的时候需要做到,对扩展开放,这样才可以根据最新的情况增添功能。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:202-0-15,如有侵权请联系 cloudcommunity@tencent 删除系统语法编译程序工程师#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格
上传时间: 2025-07-19 21:35:03
下一篇:动态多态与静态多态
推荐阅读
留言与评论(共有 12 条评论) |
本站网友 福建电信网速测试 | 27分钟前 发表 |
这样才可以根据最新的情况增添功能 | |
本站网友 楚州租房 | 21分钟前 发表 |
但是另一块地方又有问题了 | |
本站网友 天津海港城 | 29分钟前 发表 |
聘请外方工程师过来迅速定位后 | |
本站网友 鹤山房产网 | 15分钟前 发表 |
因为这是一个进口的电机 | |
本站网友 沈阳北大青鸟 | 12分钟前 发表 |
本站网友 电驴资源 | 0秒前 发表 |
工程师和电机遵守了开闭原则 | |
本站网友 沫忆失忆 | 24分钟前 发表 |
本站网友 许智伟 | 17分钟前 发表 |
而且写代码的时候需要做到对修改封闭 | |
本站网友 好域名 | 26分钟前 发表 |
因为擅自修改代码 | |
本站网友 衣服上的油渍怎么洗 | 9分钟前 发表 |
工程师可以很快到故障是因为 | |
本站网友 做梦梦到僵尸 | 7分钟前 发表 |
聘请外方工程师过来迅速定位后 |