WEB开发网
开发学院软件开发C语言 无废话C#设计模式之十四:Template Method 阅读

无废话C#设计模式之十四:Template Method

 2009-04-02 08:23:19 来源:WEB开发网   
核心提示: 代码执行结果如下图:代码说明l PayGateway类型是抽象模版角色,它定义了支付过程不变的部分,无废话C#设计模式之十四:Template Method(2),并且把变化部分定义为抽象操作,让子类去实现,可以是抽象方法也可以是带有默认实现的方法,注意事项l 模版方法可以说是最不像设计模

代码执行结果如下图:

无废话C#设计模式之十四:Template Method 

代码说明

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

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

何时采用

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

实现要点

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

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

注意事项

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

系列文章:

无废话C#设计模式之一:开篇

无废话C#设计模式之二:Singleton

无废话C#设计模式之三:Abstract Factory

无废话C#设计模式之四:Factory Method

Tags:废话 设计模式 十四

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