Template和Command模式从客户实现者来看非常接近,都是继承(或实现)一个固定的类(接口),然后将实现交给已有框架的上下文进行处理.在框架编程中非常常用,但是他们之间的区别很多时候使用者都不是很清晰:
1、Template倾向于算法构架的重用,Command不倾向于算法
2、Template往往要求实现者了解算法的细节,Command则往往用于框架对客户端的回调
3、Command强调对实现的管理,即对一系列Command实例的管理,而Template强调单一实现对基类的扩展
4、Command实现的方法被框架直接使用,而Template实现的方法被框架隐含调用(即框架并不直接调用扩展方法而由Template基类按算法要求调用)
5、Command往往是接口继承,而Template是实现继承,所以Command更易于重用
Trackback: http://tb.donews.net/TrackBack.aspx?PostId=772121