火龙果会员
注册
找回密码
每月超过
20万元
免费资源,目前收到捐助
0
。
您可以捐助,支持我们的公益事业。
1元
10元
50元
100元
必填
求知
文章
文库
Lib
视频
iProcess
课程
认证
咨询
工具
讲座
Model Center
Code
会员
要资料
追随技术信仰
随时听讲座
每天看新闻
JS/HTML 栏目
浏览
(8225 次)
下载
(23 次)
Template Method设计模式
多个算法具有类似的过程,过程中的每步因每个算法而不同,希望能够复用类似的过程,实现了算法算法过程复用,算法每个步骤实现的灵活性。
keywords:C# ,设计模式,Template Method
来源:
火龙果
更新日期:2015-6-23
评价
好
中
差
Template Method设计模式
作者:俎涛
问题
多个算法具有类似的过程,过程中的每步因每个算法而不同,希望能够复用类似的过程
环境
每个算法的过程具有稳定性,多个算法的过程具有一致性
解决方案
1. 把多个算法的类似步骤进行抽象,这样可以提炼出算法的公共过程骨架。
如 TxtLoger和XmlLoger抽象为Loger
2. 把算法的每个步骤留给子类实现。
例如:TxtLoger和XmlLoger分别实现Connect(),Log(),Close()
效果
实现了算法算法过程复用,算法每个步骤实现的灵活性。
实例
TxtLoger和XmlLoger具有类似的过程,不同的步骤实现。
结构类图:
用例模型:
用例名称
记录日志
用例概述
打开目标文件,记录日志
基本场景
1. 连接文件
2. 写入日志
3. 关闭文件
设计类图:
顺序图:
代码目录:
主程序Program.Main()
运行效果