【大话设计模式——学习笔记(4)】开放——封闭原则

开放——封闭原则

    软件实体可以扩展,但是不可修改。即对于扩展是开放的,对于修改是封闭的。面对需求,对程序的改动是通过增加代码来完成的,而不是改动现有的代码。

  当变化发生时,我们就创建抽象来隔离以后发生同类的变化。

  开放――封闭原则是面向对象的核心所在。开发人员应该对程序中呈现出频繁变化的那部分做出抽象,拒绝对任何部分都刻意抽象及不成熟的抽象。


      怎么才能比较好的理解开放——封闭呢,现在小P用书中的例子来描述下。在我们写计算器时,一开始只要求有加法功能,因此我们写了一个客户端类和一个加法类。但是后来需求变更,要求再添加一个减法类。这个时候我们不能再写一个减法类就完事,因为之后可能还会有乘法等,而各种运算在有些功能上又是相同的,比如都是输入两个数字一个运算符,然后得出一个结论。因此,我们应该抽象出一个运算类,把共有的属性写进去,把特有的方法抽象出来,供子类完善,而这个运算类在原则上是不能改变的(除了添加共有的功能),之后不管是加减乘除还是开方等各种运算,直接添加一个继承于运算类的子类就行了。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值