行为型设计模式的学习。
观察者模式介绍
概述
观察者模式又称发布-订阅模式,这是一个非常常用的行为型设计模式。
尽管前面一直说定义不重要,但是为了内容的完整性,这里还是将观察者模式的定义贴出来:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都可以得到通知做出相应的动作。
使用场景
还是通过例子来说明该模式的使用场景,公众号的关注就是一个很典型的观察者模式使用:目前有几千程序员关注了"非科班大厂码农"公众号,于是,今天这篇<<秒懂观察着模式>>文章发布后,这些关注者就会收到通知,阅读文章。
UML类图
以上面场景为例,为了简单,假设公众号就只有两个粉丝:张三和李四,当公众号发布新文章,张三和李四接到通知就可以阅读该文章;当公众号删除某篇文章,张三和李四接到通知就不可以阅读被删除的文章。其UML类图如下:
通过UML图可以看出,观察者模式并不难,角色也不多,主要有以下几个角