美文网首页
观察者模式(.net规范)

观察者模式(.net规范)

作者: Rehma | 来源:发表于2020-01-21 23:48 被阅读0次

观察者模式.NET规范


  • 两个接口Subject和Observer
//.ENT命名规范 其实就是Subject
interface IObservable {
    void Register (IObserver obj);
    void Unregister (IObserver obj);
}
interface IObserver {
    void Update (); //被subject调 以达到通知目的 - - 也就是等待被通知
}

  • 用一个容器container来放IObserver的引用,也就是放对我感兴趣的对象(备胎列表)
  • 以后再创建发布者(subject)直接继承这个基类就👌
abstract class SubjectBase : IObservable {

    private List<IObserver> container = new List<IObserver> ();

    public void Register (IObserver obj) => container.Add (obj); //和下一句意义一样 语法糖

    public void Unregister (IObserver obj) { container.Add (obj); }

    protected virtual void Notify () {
        foreach (IObserver item in container) {
            item.Update ();
        }
    }
}
  • Notify 用于通知所有注册了的Observer的Update方法 - - 也就是发布通知

  • 发布者定义
class Superstar : SubjectBase {
    private bool iscry;
    public bool Iscry { get { return iscry; } }

    public Superstar (bool b) { iscry = b; }

    public Superstar () : this (true) { }//为方便直接调构造

    //供子类覆盖,方便子类添加额外行为
    protected virtual void OnSend(){
        base.Notify();
    }

    //供对象调用
    public void PlayBall(){
        if (iscry)
            OnSend();
    }
}

  • 订阅者定义
class Fans : IObserver {
    public void Update () {
        System.Console.WriteLine ("这hmp又来装疯卖傻");
    }
}
  • main测试
Superstar cxk = new Superstar ();//巨星
Fans f = new Fans ();//粉丝
cxk.Register (f);//粉丝订阅巨星
cxk.PlayBall ();//打球擦破皮哭了发个动态

git地址:https://github.com/lish44/Note/blob/master/DesignPatterns/Observe3.md

相关文章

  • 观察者模式(.net规范)

    观察者模式.NET规范 两个接口Subject和Observer 用一个容器container来放IObserve...

  • 2015年8月31日

    java设计模式--事件监听器模式和观察者模式 - 温水青蛙 - 博客频道 - CSDN.NET http://...

  • Flux/Redux相比Eventbus

    都可以解耦合,Flux/Redux提供了更好的架构设计/状态管理规范,EventBus只是提供了观察者模式的规范。

  • 11.9设计模式-观察者模式-详解

    设计模式-观察者模式 观察者模式详解 观察者模式在android中的实际运用 1.观察者模式详解 2.观察者模式在...

  • mAdapter.notifyDataSetChanged();

    咱们先看看观察者模式和接口回调的关系: https://blog.csdn.net/cauchyweierstra...

  • RxJava基础—观察者模式

    设计模式-观察者模式 观察者模式:观察者模式(有时又被称为发布(publish )-订阅(Subscribe)模式...

  • 前端面试考点之手写系列

    1、观察者模式 观察者模式(基于发布订阅模式) 有观察者,也有被观察者。 观察者需要放到被观察者列表中,被观察者的...

  • RxJava 原理篇

    一、框架思想 观察者模式观察者自下而上注入被观察者被观察者自上而下发射事件观察者模式 装饰器模式自上而下,被观察者...

  • 观察者模式

    观察者模式概念 观察者模式是对象的行为模式,又叫作发布-订阅(publish/subscrible)模式。 观察者...

  • 设计模式-观察者模式

    观察者模式介绍 观察者模式定义 观察者模式(又被称为发布-订阅(Publish/Subscribe)模式,属于行为...

网友评论

      本文标题:观察者模式(.net规范)

      本文链接:https://www.haomeiwen.com/subject/yeeyzctx.html