设计模式六大原则: 一国两制 -- 开放封闭原则

“一国两制”指的是在中华人民共和国内,国家的主体实行社会主义,香港、澳门和台湾实行资本主义。 中国共产党为解决祖国内地和台湾和平统一的问题以及在香港、澳门恢复行使中国主权的问题而提出的基本国策。即在中华人民共和国内,内地坚持社会主义制度作为整个国家的主体,同时允许台湾、香港、澳门保留资本主义制度。

现代化建设的设计师-邓小平先生一定学过设计模式,他的 开放封闭原则用地炉火纯青啊:

- 首先中国大陆的社会主义方针是坚定不移的

- 这时香港、澳门这两个在富人家过惯了的孩子又不肯回来过社会主义的生活

- 在不影响原有系统(大陆)的情况下,唯有对系统进行拓展

- 因此“一国两制”诞生了

在我们编码过程中,需求总是会更改,面对不停改变的需求如何设计、编码才能成本最低呢?

需求改变时,原来的代码能不动就不动,增加一些类。

等到变化发生时立即采取行动,创建抽象来隔离以后发生的同类变化。

这就是“开放封闭原则”,借用《大话设计模式》里的一段话:

遵循开放封闭原则的重要手段就是 抽象

我们希望在开展工作不久就能知道可能发生的变化 ,越往后越难抽象。

开发人员应该仅对程序中频繁变化的部分进行抽象,而不是对每个部分都进行抽象。

当你的代码中充满了 if-else 语句,就应该警醒了,这样的语句非常容易导致问题。

开放封闭原则 OCP(Open Closed Principle )

对于拓展是开放的(Open for extension), 对于更改是封闭的(Closed for modification)

时间: 2024-12-12 04:51:24

设计模式六大原则: 一国两制 -- 开放封闭原则的相关文章

面向对象原则之一 开放封闭原则(开闭原则)

原文:面向对象原则之一 开放封闭原则(开闭原则) 前言 面向对象有人分为五大原则,分别为单一职责原则.开放封闭原则.依赖倒置原则.接口隔离原则.里氏替换原则. 也有人分为六大原则,分别为单一职责原则.开放封闭原则.依赖倒置原则.接口隔离原则.里氏替换原则.迪米特法则. 现在我们来介绍开放封闭原则,也叫开闭原则 开闭原则 1)概念 官方说法是 软件实体(模块.类.函数等)应该可以扩展,但是不可以修改.也就是说软件对扩展开放,对修改关闭. 需要说明的是,对修改关闭不是说软件设计不能做修改,只是尽量不

大话设计模式1.0.2-----策略模式 单一职责原则 和 开放-封闭原则

大话设计模式第二章之:策略模式 算法之间可以互相调用 策略模式就是用来封装算法的. 大话设计模式第三章之:单一职责原则 单一职责原则:就一个类而言,应该仅有一个引起它变化的原因 类承担的职责不能过多,因为有时,完成一个职责,会影响到其他职责的, 手机只用来接电话,相机只用来拍照,功能才强大,集成太多了,其他功能就弱化了. 对应一些问题,要方法化,要类分离化 大话设计模式第四章之:开放-封闭原则 开放-封闭原则:是说软件实体(类.模块.函数等等)应该可以扩展,但是不可修改.OCP 扩展是开放的,修

[Python设计模式] 第3~5章 单一职责原则/开放-封闭原则/依赖倒转原则

单一职责原则 就一个类而言,应该仅有一个引起它变化的原因. 如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力.这种耦合会导致脆弱的设计,当变化发生时,设计会遭受到意想不到的破坏. 软件设计真正要做的许多内容,就是发现职责并把哪些职责相互分离.如果你能够想到多余一个的动机去改变一个类,那么这个类就具有多余一个的职责,就应该考虑类的职责分离. 开放-封闭原则 开放-封闭原则,是说软件实体(类,模块,函数等)应该可以扩展,但是不可修改.即对

三、单一职责原则、开放-封闭原则、依赖倒转原则

一.单一职责原则 1.定义:就一个类而言,应该仅有一个引起它变化的原因. 2.为什么要?:如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力.这种耦合会导致脆弱的设计,当变化发生时,设计会遭受到意想不到的破坏. 3.软件设计真正要做的许多内容,就是发现职责并把职责相互分离. 如果你能想到多余一个动机去改变一个类,那么这个类就具有多于一个原则. 4.示例:设计俄罗斯方块的游戏 可以分为游戏逻辑和界面表示逻辑. 游戏逻辑--数组每一项的值改

开放—封闭原则

案例:求职考研两不误.考研失败,工作没准备,这是不行的 开放——封闭原则:是说软件实体(类.模块.函数等等)应该可以扩展,但是不可修改. 两个特征:对应扩展是开放的,对于更改是封闭的. 怎么样的设计才能面对需求的改变却可以保持相对稳定,从而使得系统可以在第一个版本以后不断推出新的版本?:开放——封闭原则 案例:公司职员迟到:不可改变的是业绩成效,可改变的是上班的时间 无论模块是多么封闭,都会存在一些无法对之封闭的变化.既然不可能完全封闭,设计人员必须对于他设计的模块应该对哪块变化封闭做出选择.必

Charpter04 开放-封闭原则

开放封闭原则简介 开放-封闭原则,是说软件实体(类.模块.函数等等)应该可以扩展,但是不可修改. 这个原则其实是有两个特征,一个是说,“对于扩展是开放的(Open for extension)”,另一个是说“对于更改是封闭的(Closed for modification)”. 开放封闭原则可以使当需求改变时,可以保持程序的相对稳定,不至于让程序推倒重来,并能使系统可以在第一个版本以后不断的推出新的版本. 无论模块是多么的“封闭”,都会存在一些无法对之封闭的变化,既然不可能完全封闭,设计人员必须

设计模式 之 设计的 六大原则(6) 开放封闭原则

  开放封闭原则  定义:一个软件实体如类.模块和函数应该对扩展开放,对修改关闭. 问题由来:在软件的生命周期内,因为变化.升级和维护等原因需要对软件原有代码进行修改时,可能会给旧代码中引入错误,也可能会使我们不得不对整个功能进行重构,并且需要原有代码经过重新测试. 解决方案:当软件需要变化时,尽量通过扩展软件实体的行为来实现变化,而不是通过修改已有的代码来实现变化. 开闭原则是面向对象设计中最基础的设计原则,它指导我们如何建立稳定灵活的系统.开闭原则可能是设计模式六项原则中定义最模糊的一个了,

小菜学设计模式——开放封闭原则

背景 本文标题为什么叫小菜学习设计模式,原因是本文内容主要是学习<大话设计模式>时的笔记摘要部分,当然,并不是记录书中小菜的学习过程,这个完全没有意义,而是指本人学习设计模式的成长之旅. 真诚的希望自己能够从一名小菜成长为一名大鸟! 编写的程序应该满足: 1)可维护 2)可扩展 3)可复用 4)够灵活 废话少说,言归正传,设计模式原则之:开放封闭原则 书面理解 开放封闭原则:软件实体(类.模块.函数等等)应该可以扩展,但是不可以修改 对于扩展是开放的,对于修改则是关闭的 无论模块是多么的封闭,

《大话设计模式》:开放-封闭原则

开放-封闭原则:软件实体(类.模块.函数等等)应该可以扩展,但是不可以修改.对于扩展是开放的,对于更改是封闭的. 针对的问题:怎样的设计才能面对需求的改变却可以保持相对的稳定,从而使得系统可以在第一个版本以后不断推出新的版本呢? 无论模块是多么的“封闭”,都会存在一些无法对之封闭的变化,既然不可能完全封闭,设计人员必须对于他设计的模块应该对哪种变化封闭做出抉择,他必须先猜测出最有可能发生的变化种类,然后构造抽象来隔离那些变化. 在我们最初编写代码时,假设变化不会发生.当变化发生时,我们就创建抽象