读书人

设计形式之模板方法模式

发布时间: 2013-02-25 10:23:36 作者: rapoo

设计模式之模板方法模式

我们知道中国是一个“制造大国”而非一个“创造大国”,为什么这么说呢?因为我们中国人的智慧是无与伦比的,我们对于“模仿”来说有着与生俱来的天赋,但是从“创新”的角度来看还是举步维艰。这次来谈谈国人的智慧-“模仿”。

说起“模仿”不得不提“模板”,因为有一个“模板”才能模仿出自己需要的东西。话说,当年的国产山寨机可是风靡一时,那么就以制造手机来理解一下“模板方法模式”。

代码结构图:

设计形式之模板方法模式

在这里Telephone是抽象类,其实也就是一个抽象模板,定义并实现了一个模板方法call()。这个模板方法是一个具体的方法,给出了一个顶级逻辑的骨架,而逻辑的组成步骤在相应的抽象操作中,推迟到子类实现。

模板代码:


这样一款山寨的nokia和iphone就诞生了...


通过这个简单的小例子是否对模板方法模式有了初步的了解。那么模板模式有什么特点呢:

1.当我们要完成在某一细节层次一致的一个过程或一系列步骤,但其个别步骤在更详细的层次上的实现可能不同时,我们通常考虑用模板方法模式来处理;

2.模板方法模式是通过把不变行为搬移到超类,去除子类中的重复代码来体现它的优势;

3.模板方法提供了一个很好的代码复用平台;

4.当不变和可变的行为在方法的子类实现中混合在一起的时候,不变的行为就会在子类中重复出现,我们通过模板方法模式把这些行为搬移到单一的地方,这样就帮助子类摆脱重复的不变行为的纠缠。


后记:

随着社会的发展,安卓的出现,山寨机慢慢走入了一个困境,真实地反映了一个道理:模仿毕竟不如原创好。

民族在振兴,

国家在富强,

一代代先驱奔赴,

一次次创新展现,

试看未来世界,

中国模板走向全球...



读书人网 >软件开发

热点推荐