行为型/职责链模式/处理就返回/Mode1.cs
(开头部分) 4KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
namespace DesignModeConsole.行为型.职责链模式;
#region 方案一优化后
/// <summary>
/// 所有处理器类的抽象父类 使用模板模式抽离逻辑到抽象父类
/// </summary>
public abstract class Handler1_2
{
private Handler1_2? _successor;
public void SetNextHandler(Handler1_2? successor)
{
this._successor = successor;
}
/// <summary>
/// 将_successor.Handle的逻辑从具体的处理器类中剥离出来,放到抽象父类中,
/// 这样子具体的处理器类就只需要实现自己的业务逻辑就可以了
/// </summary>
public void Handle()
{
var handled = DoHandle();
// 如果前一个处理成功那么就不往下继续执行了
if (_successor != null && !handled)
{
_successor.Handle();
}
}
/// <summary>
/// 进行处理 返回处理的成功不成功
/// </summary>
/// <returns></returns>
protected abstract bool DoHandle();
}
public class Handler1A1_2 : Handler1_2
{
protected override bool DoHandle()
{
Console.WriteLine("开始处理HandlerA 第一个");
var handled = false;
// 业务逻辑处理 判断是否可以处理
return handled;
}
}
public class Handler1B1_2 : Handler1_2
{
protected override bool DoHandle()
{
Console.WriteLine("开始处理HandlerB 第二个");
var handled = false;
// 业务逻辑处理 判断是否可以处理
return handled;
}
}
/// <summary>
后面还有 127 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。