首页
学习
活动
专区
圈层
工具
发布

C#设计模式15——观察者模式的写法

具体的做法是,定义一个接口,包含一个Update()方法,表示观察者需要在被通知时执行的操作;然后,在被观察者对象中定义一个ListIObserver>类型的观察者列表,每个观察者对象实现IObserver...接口代码示例: //观察者接口 public interface IObserver { void Update(); } 然后,在被观察者对象中定义一个ListIObserver>类型的观察者列表...被观察者对象的代码示例: //被观察者抽象类 public abstract class Subject { private ListIObserver> _observers = new List...IObserver>(); //添加观察者 public void Attach(IObserver observer) { _observers.Add(observer...最后,具体的观察者对象需要实现IObserver接口中的Update()方法,以便在被通知时能够执行相应的操作。

45410
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Observer模式入门

    obj); // 注册IObserver void Unregister(IObserver obj); // 取消IObserver的注册 } 注意它的两个方法接收 IObserver...IObserver 接口 现在我们再来完成IObserver接口,所有的Observer都需要实现这个接口,以便在事件发生时能够被 自动告知(自动调用其Update()方法,改变自身状态),它仅包含一个...抽象基类 SubjectBase 注意到上面序列图中的Container(容器),它用于保存IObserver引用的方式,对于很多IObservable的实现来说可能都是一样的,比如说都用ListIObserver...private ListIObserver> container = new ListIObserver>(); public void Register(IObserver...我们需要再次对IObserver接口的Update()方法修改,相应的修改还要修改SubjectBase基类、Heater类 以及 IObserver接口的实现--显示器类(Screen)。

    86420
    领券