现在的位置: 首页 > 综合 > 正文

关于设计模式的一点感悟

2013年04月13日 ⁄ 综合 ⁄ 共 588字 ⁄ 字号 评论关闭

1。设计模式的一个很重要的思想就是封装变化点,因为大部分的设计模式都是为了适应变化而采用的。也就是说,如果需求不会随着时间的推移而变化的话,那程序怎么设计,怎么个紧耦合,怎么个混乱,都无所谓了。因为不会变化嘛。但是,当把时间因素考虑到项目的变化因素的话,就有必要在设计软件时考虑合理的使用设计模式了,因为我们总是要维护和扩展系统的。有时候维护一个糟糕的系统甚至比重新开发一个还要费劲

 

2。有些模式,比如Adapter,Facade等,往往用来连接一个新系统和一个已有的旧系统。也就是说,这些模式的使用场景往往比较多的在于就系统的维护和扩展,或使用现有的系统功能。当然,我们在设计一个新系统的时候,也可以在不同的模块之间使用Facde,Adapter等。

 

3。什么时候使用继承,什么时候使用聚合

继承的一个思想就是Is-a,也就是使用继承的时候,不仅仅是继承了一些代码或者接口,还意味着在某些时候,你可能会用父类型也操作实际的子类型对象,也就是说存在一些场合,你希望子类型的对象当作父类型对象来使用(通过强制类型转换)

但是,如果不存在上述的场景,仅仅是为了使用某种已有的功能或者强制某种规范,则还是有限选择继承的好。

 

4。聚合的概念是Has-a,继承的概念是Is-a,不过有时候,我们使用继承的时候,也有可能并不强调Is-a,而是强调 Behavior as, 比如Detector模式

抱歉!评论已关闭.