功能对等四个原则_适用于构件级设计的基本设计原则

有四种适用于构件级设计的基本设计原则,这些原则在使用面向对象软件工程方法时被广泛采用。使用这些原则的根本动机在于,使得产生的设计在发生变更时能够适应变更并且减少副作用的传播。设计者以这些原则为指导进行软件构件的开发。

开闭原则(The Open-Closed Principle,OCP)。模块(构件)应该对外延具有开放性,对修改具有封闭性。这段话似乎有些自相矛盾,但是它却体现出优秀的构件级设计应该具有的最重要特征之一。简单地说,设计者应该采用一种无需对构件自身内部(代码或者内部逻辑)做修改就可以进行扩展(在构件所确定的功能域内)的方式来说明构件。为了达到这个目的,设计者需要进行抽象,在那些可能需要扩展的功能与设计类本身之间起到缓冲区的作用。

例如,假设SafeHome的安全功能使用了对各种类型安全传感器进行状态检查的 Detec-tor类。随着时间的推移,安全传感器的类型和数量将会不断增长。如果内部处理逻辑采用一系列if-then-else的结构来实现,其中每个这样的结构都负责一个不同的传感器类型,那么对于新增加的传感器类型,就需要增加额外的内部处理逻辑(依然是另外的if-then-else结构),而这显然违背OCP原则。

图中给出了一种遵循OCP原则实现Detector类的方法。对于各种不同的传感器,Sensor接口都向Detector构件呈现一致的视图。如果要添加新类型的传感器,那么对Detec-tor类(构件)无需进行任何改变。这个设计遵守了OCP原则。

cfef62c7f0580fabc263050ee42bedb7.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值