标签:模式 子类 模版 个性 接口 end any 根据 src
模版模式,又被称为模版方法模式,它可以将工作流程进行封装,并且对外提供了个性化的控制,但主流程外界不能修改,也就是说,模版方法模式中,将工作的主体架构规定好,具体类可以根据自己的需要,各自去实现,这可能会让我们想到策略模式,两者有着本质的区别。
我们看一下策略模式的应用场景
/// <summary> /// 模版核心类 /// </summary> abstract class OrderGenerator { /// <summary> /// 核心处理流程 /// </summary> public void Excute() { InsertData(); ProcessException(); InsertLog(); } void InsertData() { Console.WriteLine("写数据对外面隐藏"); } void InsertLog() { Console.WriteLine("写日志对外面隐藏"); } /// <summary> /// 异常处理逻辑,对外面开放,可以自己建立自己的异常规范 /// </summary> protected abstract void ProcessException(); } /// <summary> /// b2c项目业务处理方法 /// </summary> class B2COrderGenerator : OrderGenerator { protected override void ProcessException() { Console.WriteLine("b2c项目中订单的异常处理方式"); } } /// <summary> /// c2c项目业务处理方法 /// </summary> class C2COrderGenerator : OrderGenerator { protected override void ProcessException() { Console.WriteLine("c2c项目中订单的异常处理方法"); } }
调用方法
#region 模版方法调用 OrderGenerator orderGenerator = new B2COrderGenerator(); orderGenerator.Excute(); #endregion
程序截图
标签:模式 子类 模版 个性 接口 end any 根据 src
原文地址:https://www.cnblogs.com/zyy1688/p/10002512.html