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 }
我学会了,模板方法模式 模板方法模式属于行为型模式,这个类型的设计模式总结出了 类、对象之间的经典交互方式,将类、对象的行为和使用解耦了,花式的去使用对象的行为来完成特定场景下的功能。
工厂模式、模板模式和策略模式 工厂模式又叫做工厂方法模式,是一种创建型设计模式,一般是在父类中提供一个创建对象的方法,允许子类决定实例化对象的类型。
相关文章
- .net(C#)访问Oracle数据库的几种免安装组件的对比
- c#时间与时间戳互转13位
- C#线程同步——lock,Monitor,Mutex(摘录)
- C#委托和事件机制
- C# DataTable Copy() 与 Clone()区别
- C# 通过传入节点name及节点value,来删除XML相应节点
- Atitit. c# 语法新特性 c#2.0 3.0 4.0 4.5 5.0 6.0 attilax总结 1. 版本历史1 1.1. C# 1.0-纯粹的面向对象2 1.2. C# 2.0
- Atitit. C#.net clr 2.0 4.0新特性
- c# - Document编辑office的doc或者docx文件表格指定格子内容并保存-自定义工具
- C#界面控件汇总
- git for c#, commit本地,pushserver
- 【UiPath2022+C#】UiPath If条件语句