倚楼听风雨
淡看江湖路

浅析设计模式第四章之开放-封闭原则

老四持续为设计模式挖坑,今天浅析一下设计模式中涉及到的面向对象设计原则之一,开放-封闭原则。还是那句话,对于程序员来讲,精彩的代码是如何想出来的,要比看到精彩的代码更加令人期待。

定义

开放-封闭原则(The Open-Closed Principle,简称 OCP):开闭原则由 Bertrand Meyer 于 1988 年提出,一个软件实体应当对扩展开放,对修改关闭。即软件实体应尽量在不修改原有代码的情况下进行扩展。

此设计原则其实要求我们面对变化的需求要保证系统的稳定性,它要求我们面对新的需求产生的时候,不是修改原有的代码,而是通过新增模块或者代码的方式动态的、有策略的实现、应对变化的需求。比如说你已经定义了一个会跳会跑的动作类实体,在里面你已经判断狗会跑猫会跳,但是突然你要加一个鸟会飞,这个时候你不得不修改动作实体,导致程序设计框架变更。如果我们在开发工作发生不久之后就掌握可能发生的变化,提前设计会给以后的开发带来很大程度上的便捷。否则,可能发生的变化所等待的事件越长,要创建正确的抽象就越困难。

开放-封闭原则是面向对象设计的核心所在

遵循这个原则可以带来面向对象技术所声称的巨大好处,也就是可维护、可扩展、可复用、灵活性好。开发人员应该仅对程序中呈现出频繁变化的那些部分做出抽象,然而,对于应用程序中的每个部分都刻意地进行抽象同样不是一个好主意。拒绝不成的抽象和抽象本身一样重要。

代码如下,更多完整项目请在文末获取。

普通的对象:

符合开闭原则的代码如下:

然后通过新建立的操作类实现接口,从而符合开放-封闭原则。

完整项目下载地址文末自助获取。

更博不易,如果觉得文章对你有帮助并且有能力的老铁烦请捐赠盒烟钱,点我去赞助。或者扫描文章下面的微信/支付宝二维码打赏任意金额(点击「给你买杜蕾斯」),也可扫描小站放的支付宝领红包二维码,线下支付享受优惠的同时老四也可以获得对应赏金,老四这里抱拳谢谢诸位了。捐赠时请备注姓名或者昵称,因为您的署名会出现在赞赏列表页面,您的捐赠钱财也会被用于小站的服务器运维上面,再次抱拳感谢。

资源下载

隐藏内容:******,购买后可见!

下载价格:0 G币

您需要先后,才能购买资源

欢迎访问高老四博客(glorze.com),本站技术文章代码均为老四亲自编写或者借鉴整合,其余资源多为网络收集,如涉及版权问题请与站长联系。如非特殊说明,本站所有资源解压密码均为:glorze.com。

赞(18) 给你买杜蕾斯
本站原创文章受自媒体平台原创保护,未经允许不得转载高老四博客 » 浅析设计模式第四章之开放-封闭原则

开始你的表演 抢沙发

觉得文章有用就打赏一下老四,鼓励我更好的创作

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏

登录

找回密码

注册