简单来说,观察者模式=发布者+订阅者。
下面是一个有关猎头的典型的例子。在下面这张图当中有两个角色:猎头和寻找工作的人。找工作的人向猎头订阅,告知自己希望得到一份工作,当有新的工作机会的时候,猎头就会把这个信息通知给曾经向他订阅过的人。
Java代码
Subject接口:
Observer接口:
HeadCounter实现了Subject接口,实际上就是发布者:
JobSeeker实现了Observer接口,实际上就是订阅者:
程序实例入口:
简单来说,观察者模式=发布者+订阅者。
下面是一个有关猎头的典型的例子。在下面这张图当中有两个角色:猎头和寻找工作的人。找工作的人向猎头订阅,告知自己希望得到一份工作,当有新的工作机会的时候,猎头就会把这个信息通知给曾经向他订阅过的人。
Java代码
Subject接口:
Observer接口:
HeadCounter实现了Subject接口,实际上就是发布者:
JobSeeker实现了Observer接口,实际上就是订阅者:
程序实例入口: