代码拉取完成,页面将自动刷新
using System;
/// <summary>
/// 建立观察者基类(单行为,多行为)
/// </summary>
namespace DelegateEvent
{
/**//// <summary>
/// 在Observer Pattern(观察者模式)中,此类作为所有Observer(观察者)的抽象基类
/// 所有要充当观察者的类(在此事例中为"老鼠"和"人")都继承于此类.
/// 我们说此类作为观察者基类,用于规划所有观察者(即订阅方)订阅行为.
/// 在此事例中,规划了针对目标基类(ModelBase)中声明的"无参无返回"委托的一个
/// 方法(Response),并于构造该观察者时将其注册于具体目标(参数传递)的委托事件中.
/// 具体实施过程:
/// 1.指定观察者所观察的对象(即发布方).(通过构造器传递)
/// 2.规划观察者自身需要作出响应方法列表
/// 3.注册需要委托执行的方法.(通过构造器实现)
/// </summary>
public abstract class Observer
{
/**//// <summary>
/// 构造时通过传入模型对象,把观察者与模型关联,并完成订阅.
/// 在此确定需要观察的模型对象.
/// </summary>
/// <param name="childModel">需要观察的对象</param>
public Observer(ModelBase childModel)
{
//订阅
//把观察者行为(这里是Response)注册于委托事件
childModel.SubEvent += new ModelBase.SubEventHandler(Response);
}
/**//// <summary>
/// 规划了观察者的一种行为(方法),所有派生于该观察者基类的具体观察者都
/// 通过覆盖该方法来实现作出响应的行为.
/// </summary>
public abstract void Response();
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。