设计模式(一):开放封闭原则

开放封闭原则:一个软件实体(如类、模块和函数)应该对扩展开放,对修改封闭。

开放封闭原则指的是:既然需求一定会随着时间发生变化,软件只有适应变化。但是,较好的方式是通过扩展软件实体的方式应对变化,而不是通过修改原有代码来适应变化。

开放封闭原则要求对修改关闭,但不做任何修改也是不可能的。

当变化发生时,我们尽量创建抽象层来隔离以后发生同类的变化.

变化大概可分为如下类别:

1.逻辑变化:一个业务逻辑具体的处理算法变化,而且是一个模块内部的变化,不涉及其他模块。这时,修改原有模块内的具体算法来应对比较好。

2.底层模块变化:低层模块变化必然需要与其耦合的高层模块做适当的修改来适应。

3.表现层变化:这种变化不是指的仅仅外观变化,而是指界面变化后需要业务逻辑做修改来变现的变化。此时就与原有设计是否较好的符合开放封闭原则有很大的关系。

开放封闭原则的好处:

1.有利于进行单元测试,减少变化给测试带来的工作量。

2.有利于业务逻辑的细化,提高代码的复用性。

3.通过扩展应对变化,提高系统的可维护性。

4.面向对象开发的要求。

开放封闭原则要求:

1.尽量使用“抽象”进行约束与联系。抽象的关系一旦制定,一般不要修改,因为所有模块的耦合是通过抽象的接口来进行的,修改抽象就意味着相关的所有模块都要进行修改。

2.项目契约要有非常强的约束力。项目一定产生一个规定,就要求所有成员遵守。

3.在有可能产生变化的点就要用”抽象“进行封装。

开放-封闭原则是面向对象的核心.开放人员应该对程序中频繁变化的不分做出抽象,拒绝过分抽象和不成熟的抽象.

———设计模式之禅

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值