开闭原则

  开放-封闭原则(OCP): 软件的实体(类、模块、函数等等) 应该可以扩展, 但是不可以修改。

  这个原则的两大特征,一个是说  ‘对于扩展是开放的(open for extension)’, 另一个是说‘对于更改是封闭的(closed for modification)’。

   OPC原则指导我们 怎样才可以设计出面对需求的改变系统却可以保持相对稳定 的重要思想, 从而使得系统可以在第一个版本后不断推出新的版本。

   但是“对于更改是封闭的”谈何容易, 实际上 没款无论是多么的‘封闭’,多会存在一些无法对之封闭的变化。 既然无法完全封闭, 设计人员就必须对他设计的模块应该对那种变化封闭做出选择。 他必须先猜测出最有可能发送的变化的种类, 然后构造抽象类隔离那些变化。

   当我们最初在编写代码时, 假设变化不会发生。 当变化发生时, 我们就创建抽象来隔离以后发生的同类变化。 面对需求, 对程序的改动时通过新增代码进行的, 而不是更改现有代码, 这就是 OCP 的精神所在。

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值