设计模式-模板方法模式(templateMethod pattern)
2015-03-27 16:40
489 查看
名称: 模板方法
说说:会做的题先做,不会做的题我先不做,让以后我儿子来做
动机:
适用性:
参与者:
结果:在一个方法中定义一个算法的骨架,一些步骤延迟到子类中实现
实现:
![](http://img.blog.csdn.net/20150327163255399?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaXRvbDkyNQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
说明:多组相似的行为,实现过程中,步骤实现相同的在父类就可以实现,不相同或不确定相同的留给子类去实现。
demo c#:
说说:会做的题先做,不会做的题我先不做,让以后我儿子来做
动机:
适用性:
参与者:
结果:在一个方法中定义一个算法的骨架,一些步骤延迟到子类中实现
实现:
说明:多组相似的行为,实现过程中,步骤实现相同的在父类就可以实现,不相同或不确定相同的留给子类去实现。
demo c#:
namespace templateMethod { class Program { static void Main(string[] args) { var c1 = new context1(); c1.modifyString(); c1.printString(); c1.showStringLength(); var c2 = new context2(); c2.modifyString(); c2.printString(); c2.showStringLength(); Console.Read(); } } // main code abstract class aTemplate { // 定义模板 protected string content = "hello "; public abstract void modifyString(); public void printString() { Console.WriteLine("this string is '" + this.content + "'"); } public void showStringLength() { Console.WriteLine("this string'length is " + this.content.Length); } } class context1 : aTemplate { public override void modifyString() { this.content += "abcdefg"; } } class context2 : aTemplate { public override void modifyString() { this.content = "asdfghjkl"; } } }
相关文章推荐
- 设计模式——模板方法模式(TemplateMethod Pattern)
- 我读设计模式之模板方法模式(TemplateMethod Pattern)
- "围观"设计模式(18)--行为型之模板方法模式(TemplateMethod Pattern)
- 设计模式——模板方法模式(TemplateMethod Pattern)
- 设计模式之七、模板方法模式TemplateMethod
- 乐在其中设计模式(C#) - 模板方法模式(Template Method Pattern)
- 设计模式笔记11:模板方法设计模式(Template Method Pattern)
- 极速理解设计模式系列:20.模板方法模式(Template Method Pattern)
- 模板方法模式(TemplateMethod Pattern)(一):模板方法模式介绍
- 设计模式笔记11:模板方法设计模式(Template Method Pattern)
- 模板方法模式(TemplateMethod Pattern)(三):HeadFirst中的咖啡和茶的冲泡
- 设计模式学习--模板方法模式(Tamplate Pattern)
- 设计模式19:Template Method Pattern (模板方法模式)
- 乐在其中设计模式(C#) - 模板方法模式(Template Method Pattern)
- c++设计模式:模板方法模式(Template Method Pattern)
- 深入浅出设计模式-009:模板方法模式(Template Method Pattern)
- c++设计模式:模板方法模式(Template Method Pattern)
- 极速理解设计模式系列:20.模板方法模式(Template Method Pattern)
- 设计模式――模板方法模式(Template Method Pattern)
- 我所理解的设计模式(C++实现)——模板方法模式(Template Method Pattern)