zl程序教程

您现在的位置是:首页 >  后端

当前栏目

C#模板方法模式

2023-09-14 08:59:36 时间

模板方法模式是通过把不变行为搬移到超类,而超类一定会定义为虚类虚方法,虚方法在每个子类中重写,去除子类中的重复代码来体现它的优势。

通用模式样例代码为:

复制代码
 1 /*

 2 * Created by SharpDevelop.

 3 * User: home

 4 * Date: 2013/4/24

 5 * Time: 21:42

 6 * 

 7 * To change this template use Tools | Options | Coding | Edit Standard Headers.

 8 */

 9 using System;

11 namespace template

13 abstract class AbstractClass

15 public abstract void PrimitiveOperation1();

16 public abstract void PrimitiveOperation2();

18 public void TemplateMethod()

20 PrimitiveOperation1();

21 PrimitiveOperation2();

22 Console.WriteLine("");

26 class ConcreteClassA : AbstractClass

28 public override void PrimitiveOperation1()

30 Console.WriteLine("具体类A方法1实现。");

32 public override void PrimitiveOperation2()

34 Console.WriteLine("具体类A方法2实现。");

38 class ConcreteClassB : AbstractClass

40 public override void PrimitiveOperation1()

42 Console.WriteLine("具体类B方法1实现。");

44 public override void PrimitiveOperation2()

46 Console.WriteLine("具体类B方法2实现。");

50 class Program

52 public static void Main(string[] args)

54 AbstractClass c;

56 c = new ConcreteClassA();

57 c.TemplateMethod();

59 c = new ConcreteClassB();

60 c.TemplateMethod();

62 Console.Read();

65 }
复制代码


我学会了,模板方法模式 模板方法模式属于行为型模式,这个类型的设计模式总结出了 类、对象之间的经典交互方式,将类、对象的行为和使用解耦了,花式的去使用对象的行为来完成特定场景下的功能。
工厂模式、模板模式和策略模式 工厂模式又叫做工厂方法模式,是一种创建型设计模式,一般是在父类中提供一个创建对象的方法,允许子类决定实例化对象的类型。