面向对象六大基本原则

1.开闭原则

很多教程都把开闭原则作为这六大原则中最基本的原则,也就是说他是各个原则的核心。开闭原则指的是,一个软件实体如类、模块和函数应该对扩展开放,对修改关闭

对于开闭原则,我们在设计软件的时候,首先要搞清楚程序当中什么是未来可能变化的,什么是未来不会变化的。对于可能变化的东西,我们要提前给与可以对应的扩展接口。当然实际开发中,即便是我们认为这些不会变化的地方,未来还是可能变化的,这种变化就只能改代码了,但是这种修改仅仅只是改变个别细节,整体架构往往不会变化。而对于可能变化的地方,我们要给出可以足够扩展的空间,让其能够自由扩展,基本发生了重大的需求变更,整体架构也不会受影响。

例如:工厂模式中,我们将创建对象的过程封装了起来,这样创建对象对的过程中,创建的代码就和调用的代码尽可能地解除了耦合。创建过程可能是变化的,而调用过程往往是不变的。我们创建一个对象之后,需要为其初始化,设定一些配置,这个过程需要我们给出可以扩展的余地,而且要求扩展的时候不能影响调用部分,所以需要使用工厂模式,将可变的创建过程封装起来,供不变的调用模块。

这样说来,开闭原则的核心是解耦了?没错,我认为开闭原则讲的就是解耦,但是他要求我们在设计的时候,重点要预判出什么地方是会发生变化的,并要为变化的地方留出余地。他强调的是对于可变部分进行解耦,使用扩展的方式而不是修改的方式应对变化,这样可以保证程序整体不会发生大的变化。

开闭原则对于开发框架、可以被复用的组件(如jar、dll、js插件等待)尤为重要,

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值