标签:模式 子类 模版 个性 接口 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