初学设计模式之开放-封闭原则

定义
软件实体(类、模块、函数等)应该可以扩展,但是不可以修改。即对于扩展是开放的,对于修改是封闭的。
引出
怎样的设计才能面对需求的改变却可以保持相对稳定,从而使得系统可以在第一个版本以后不断推出新的版本呢?
作用
开发-封闭原则是面向对象设计的核心所在,遵循这个原则可以带来面向对象技术所声称的巨大好处,即可维护、可复用、可扩展和灵活性好。然而,对于应用程序中的每个部分都刻意地进行抽象同样不是一个好主意。拒绝不成熟的抽象和抽象本身一样重要。
应对变化
无论模块是多么的封闭,都会存在一些无法对之封闭的变化。既然不可能完全封闭,设计人员必须对于设计的模块应该对哪种变化封闭做出选择。
1、先猜测出最有可能发生的变化种类,然后构造抽象来隔离那些变化。
2、未猜测出来的变化,应尽早的知道可能发生的变化,及早的创造正确的抽象。
举例
UML类图,参照《大话设计模式》第一章简单工厂模式
1、初始需求:实现一个加法功能
在这里插入图片描述
2、需求变动,实现一个加减乘功能
构造抽象类来隔离发生同类的变化
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值