C#:设计模式:观察者模式

1、什么是观察者模式

事件的触发和反应是一种观察者模式,主要由两部分组成:
被观察者:相当于事件发布者(定义事件,触发事件),其中有一些属性来被其它对象所监视。
观察者:相当于事件的订阅者(事件对应具体方法实现),它会观察被监视对象的某些属性,当这些属性发生变化时,会触发观察者做出对应的反应。观察者一般可以有多个。
被观察对象只管触发事件,而不管是否有人订阅了该事件。
被观察者的状态发生了改变之后需要通知观察者做出相应的动作,比如在游戏中当我们点击了一个开始按钮,就需要加载音乐、场景等,这里的按钮就是被观察者,场景和音乐管理器就是观察者。

例题1:猫大叫,老鼠开始逃跑,主人醒来,宝宝也醒来了并且哭了起来  
思路:这题猫是被观察者,老鼠、主人、宝宝都是观察者
我们需要在猫类里面定义好事件,其他类完成事件对应具体方法实现

namespace ConsoleApp1
{
    public delegate void DEL();
    internal class Program
    {
        static void Main(string[] args)
        {
            Cat cat = new Cat();
            Mouse mouse = new Mouse();
            People people = new People();
            Baby baby = new Baby();
            cat.del +=
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值