网站首页

家园论坛

老版论坛

家园博客

业界新闻

技术文档

下载中心

速查中心

图片中心

硬件资讯
上一篇:无废话C#设计模式之十三:Decorator 下一篇:无废话C#设计模式之十五:Strategy
无废话C#设计模式之十四:Template Method

来源: 作者: 添加日期:2007-12-2 10:40:41 点击次数:

代码执行结果如下图:

代码说明

 

l         PayGateway类型是抽象模版角色。它定义了支付过程不变的部分,并且把变化部分定义为抽象操作,让子类去实现。其中的SubmitOrder方法是模版方法。

l         IPSGateway类型是具体模版角色。它代表了某一种支付网关,并且按照这种支付网关的接口标准来实现生成提交表单和记录日志的操作。

 

何时采用

 

l         如果某些类型的操作拥有共同的实现骨架和不同的实现细节的话,可以考虑使用模版方法来封装统一的部分。

 

实现要点

 

l         复用算法的骨架,将可变的实现细节留给子类实现。

l         留给子类实现的方法需要在父类中定义,可以是抽象方法也可以是带有默认实现的方法。

 

注意事项

 

l         模版方法可以说是最不像设计模式的设计模式,通常很多设计模式会和模版方法一起使用。

本新闻共2页,当前在第2页  1  2  

 
设为首页 | 加入收藏 | 业务办理 | 友情链接 | 论坛版面 | 浙ICP备07502118号 |