观察者模式由四个角色组成:抽象主题角色,抽象观察者角色,具体主题角色,抽象观察者角色,具体观察者角色. 抽象主题角色(Subject):把所有的观察者角色的引用保存在一个集合中,可以有任意数量的观察者.其提供一个接口,可以添加.删除观察者,并可以向登记过的观察者发送通知. 具体主题角色(Observer):实现了抽象主题角色提供的接口的一个具体类. 抽象观察者角色(ConcreteSubject):提供一个借口,以接收主题角色发送的通知. 具体观察者角色(ConcreteObserver):实现…