首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

设计方式之模板方法模式(Template Method)

2013-08-04 
设计模式之模板方法模式(Template Method)?图2-1:Template模式结构图???///?summary????///?Benchmark??

设计模式之模板方法模式(Template Method)



?图2-1:Template模式结构图???

///?<summary>
设计方式之模板方法模式(Template Method)????///?Benchmark
设计方式之模板方法模式(Template Method)????///?</summary>
设计方式之模板方法模式(Template Method)????public?abstract?class?AbstractClass
设计方式之模板方法模式(Template Method)????{
设计方式之模板方法模式(Template Method)????????public?void?TemplateMethod()
设计方式之模板方法模式(Template Method)????????{
设计方式之模板方法模式(Template Method)????????????this.Primitive1();
设计方式之模板方法模式(Template Method)????????????this.Primitive2();
设计方式之模板方法模式(Template Method)????????}
设计方式之模板方法模式(Template Method)
设计方式之模板方法模式(Template Method)????????protected?abstract?void?Primitive1();
设计方式之模板方法模式(Template Method)
设计方式之模板方法模式(Template Method)????????protected?abstract?void?Primitive2();
设计方式之模板方法模式(Template Method)
设计方式之模板方法模式(Template Method)
设计方式之模板方法模式(Template Method)????}
设计方式之模板方法模式(Template Method)
设计方式之模板方法模式(Template Method)????public?class?ConcreteClass1?:?AbstractClass
设计方式之模板方法模式(Template Method)????{
设计方式之模板方法模式(Template Method)????????public?ConcreteClass1()
设计方式之模板方法模式(Template Method)????????{
设计方式之模板方法模式(Template Method)????????}
设计方式之模板方法模式(Template Method)
设计方式之模板方法模式(Template Method)????????protected?override?void?Primitive1()
设计方式之模板方法模式(Template Method)????????{
设计方式之模板方法模式(Template Method)????????????Console.WriteLine("ConcreteClass1μ?Operation1");
设计方式之模板方法模式(Template Method)????????}
设计方式之模板方法模式(Template Method)????????protected?override?void?Primitive2()
设计方式之模板方法模式(Template Method)????????{
设计方式之模板方法模式(Template Method)????????????Console.WriteLine("ConcreteClass1μ?Operation2");
设计方式之模板方法模式(Template Method)????????}
设计方式之模板方法模式(Template Method)
设计方式之模板方法模式(Template Method)????}
设计方式之模板方法模式(Template Method)
设计方式之模板方法模式(Template Method)????public?class?ConcreteClass2?:?AbstractClass
设计方式之模板方法模式(Template Method)????{
设计方式之模板方法模式(Template Method)????????public?ConcreteClass2()
设计方式之模板方法模式(Template Method)????????{
设计方式之模板方法模式(Template Method)????????}
设计方式之模板方法模式(Template Method)
设计方式之模板方法模式(Template Method)????????protected?override?void?Primitive1()
设计方式之模板方法模式(Template Method)????????{
设计方式之模板方法模式(Template Method)????????????Console.WriteLine("ConcreteClass2μ?Operation1");
设计方式之模板方法模式(Template Method)????????}
设计方式之模板方法模式(Template Method)
设计方式之模板方法模式(Template Method)????????protected?override?void?Primitive2()
设计方式之模板方法模式(Template Method)????????{
设计方式之模板方法模式(Template Method)????????????Console.WriteLine("ConcreteClass2μ?Operation2");
设计方式之模板方法模式(Template Method)
设计方式之模板方法模式(Template Method)????????}
设计方式之模板方法模式(Template Method)????}
设计方式之模板方法模式(Template Method)
设计方式之模板方法模式(Template Method)///?<summary>
设计方式之模板方法模式(Template Method)????///?Class1
设计方式之模板方法模式(Template Method)????///?</summary>
设计方式之模板方法模式(Template Method)????class?Class1
设计方式之模板方法模式(Template Method)????{
设计方式之模板方法模式(Template Method)????????///?<summary>
设计方式之模板方法模式(Template Method)????????///
设计方式之模板方法模式(Template Method)????????///?</summary>
设计方式之模板方法模式(Template Method)????????[STAThread]
设计方式之模板方法模式(Template Method)????????static?void?Main(string[]?args)
设计方式之模板方法模式(Template Method)????????{
设计方式之模板方法模式(Template Method)????????????//
设计方式之模板方法模式(Template Method)????????????//?TODO:
设计方式之模板方法模式(Template Method)????????????//
设计方式之模板方法模式(Template Method)????????????AbstractClass?tmp1?=?new?ConcreteClass1();
设计方式之模板方法模式(Template Method)????????????tmp1.TemplateMethod();
设计方式之模板方法模式(Template Method)
设计方式之模板方法模式(Template Method)????????????tmp1?=?new?ConcreteClass2();
设计方式之模板方法模式(Template Method)????????????tmp1.TemplateMethod();
设计方式之模板方法模式(Template Method)
设计方式之模板方法模式(Template Method)????????????Console.Read();
设计方式之模板方法模式(Template Method)????????}
设计方式之模板方法模式(Template Method)????}
设计方式之模板方法模式(Template Method)


???Template Method模式暴露的问题也正是继承所固有的问题,Strategy模式则通过组合(委托)来达到和Template Method模式类似的效果,其代价就是空间和时间上的代价。

作者:洞庭散人

出处:http://phinecos.cnblogs.com/    

热点排行