第1页共29页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第1页共29页二十三种设计模式0引言谈到设计模式,绝对应该一起来说说重构
重构给我们带来了什么
除了作为对遗留代码的改进的方法,另一大意义在于,可以让我们在写程序的时候可以不需事先考虑太多的代码组织问题,当然这其中也包括了应用模式的问题尽管大多数开发者都已经养成了写代码前先从设计开始的习惯,但是,这种程度的设计,涉及到到大局、到总体架构、到主要的模块划分我觉得就够了
换句话说,这时就能写代码了
这就得益于重构的思想了
如果没有重构的思想,有希望获得非常高质量的代码,我们就不得不在开始写代码前考虑更多其实并非非常稳定的代码组织及设计模式的应用问题,那开发效率当然就大打折扣了
在重构和设计模式的合理应用之下,我们可以相对较早的开始写代码,并在功能尽早实现的同时,不断地通过重构和模式来改善我们的代码质量
所以,下面的章节中,在谈模式的同时,我也会谈谈关于常用的这些模式的重构成本的理解
重构成本越高意味着,在遇到类似的问题情形的时候我们更应该提前考虑应用对应的设计模式,而重构成本比较低则说明,类似的情形下,完全可以先怎么方便,怎么第2页共29页第1页共29页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第2页共29页快怎么写,哪怕代码不是很优雅也没关系,回头再重构也很容易
1FactoryMethod思想:FactoryMethod的主要思想是使一个类的实例化延迟到其子类
场景:典型的应用场景如:在某个系统开发的较早阶段,有某些类的实例化过程,实例化方式可能还不是很确定,或者实际实例化的对象(可能是需要对象的某个子类中的一个)不确定,或者比较容易变化
此时,如果直接将实例化过程写在某个函数中,那么一般就是if-else或select-case代码
如果,候选项的数目较少、