WEB开发网
开发学院软件开发VC 运用设计模式设计MIME编码类 -- 兼谈Template M... 阅读

运用设计模式设计MIME编码类 -- 兼谈Template Method和Strategy模式的区别

 2007-03-16 21:56:45 来源:WEB开发网   
核心提示: 下面编一个小程序,重在演示CMimeString的用法,运用设计模式设计MIME编码类 -- 兼谈Template Method和Strategy模式的区别(6),有2点需要说明:· 程序比较简单,仅支持Base64编码和解码;· 而且对一个串进行解码时并没有检

下面编一个小程序,重在演示CMimeString的用法。有2点需要说明:

· 程序比较简单,仅支持Base64编码和解码;

· 而且对一个串进行解码时并没有检查它是否是合法的Base64编码的结果串(有些字符串是不可能成为Base64编码的结果的),因此对串someString解码后再编码得到的串anotherString可能和someString并不相同。

五、Template Method和Strategy模式的区别

上面的设计过程中,牵涉到Template Method和Strategy这2个设计模式,本部分对它们简要总结和对比。

1、Template Method模式Tips

·Tip 1:关键字:Skeleton。

·Tip 2:图:

·Tip 3:支持变化。Subclass可以只改变算法的特定步骤,而不改变和继续使用算法的Skeleton。图中黄色的Class就是后来写的,而且工作量很小,只需Override相应的Virtual函数。其中的ConcreteClass3的改动量更小,它从已有的ConcreteClass1继承,只Override其中的一个Virtual函数。

Template Method可以说是最常见的模式,在MFC中,全局函数AfxWndProc()就是一例。

·Tip 4:支持框架。著名的Framework方面的“好莱坞法则”(Don''t call us, we''ll call you )就是主要由Template Method支持的“反向控制”(Superclass调用Subclass的Method)产生的。

2、Strategy模式Tips

·Tip 1:关键字。Aalgorithm Family。

上一页  1 2 3 4 5 6 7  下一页

Tags:运用 设计模式 设计

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接