火龙果会员
注册
找回密码
每月超过
20万元
免费资源,目前收到捐助
0
。
您可以捐助,支持我们的公益事业。
1元
10元
50元
100元
必填
求知
文章
文库
Lib
视频
iProcess
课程
认证
咨询
工具
讲座
Model Center
Code
会员
要资料
追随技术信仰
随时听讲座
每天看新闻
JS 栏目
浏览
(8233 次)
下载
(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()
运行效果