java设计模式|开闭原则

开闭原则(Open-closed principle,缩写为:OCP)

说明:软件实体(模块、类、方法等) 应该“对扩展开放、对修改关闭”(software entities (modules,classes,functions,etc.)should be open for extension ,but closed for modification).

通俗理解就是添加一个功能应该是再已有的代码基础上进行扩展,而不是修改意有代码。

开闭原则的目的是为了代码的可扩展,并且避免了对现有的代码的修改给软件带来的风险。可扩展的前提是需要了解到未来的扩展点,拿实际软件开发中如何找到所有的可扩展点呢? 以下提供了几种参考方案

1.如果是业务驱动的系统,需要在充分了解了业务的需求前提下,才能找到对应的扩展点,如果不确定因素过多,需求变化快,则可以对一些比较确定的,短期内就可以能扩展,通过设计扩展点,能明显提升代码稳定性和开发效率的地方进行设计。

2.如果是通用型的技术开发,比如开发通用的框架,组件,类库,你需要考虑该技术框架将如何被用户使用,考虑功能的升级需要预留的扩展点意见版本之间的兼容问题。

3.即使对系统的业务或者技术矿建有足够的了解,也不一定要设计所有的扩展点。为未来可能发生变化得没和地方都预留扩展点,也会给系统代码极大的复杂度,实现起来也是工作量也不可小觑。需要综合开发成本,影响范围,实际收益(包括时间和人员成本)等因素进行考虑。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值