# 观察者模式


## ***组件协作模式***

1. ***什么是组件协作模式***
   - *现代软件专业分工之后的第一个结果就是 **框架与应用程序的划分***
   - ***组件协作*** *模式通过晚绑定，来实现框架和应用之间的松耦合，是二者之间协作时常用的模式*
2. ***典型模式***
   - *Template Method*
   - *Observer / Event*
   - *Strategy*

## ***模式定义***

1. *定义对象间的一种一对多(变化)的依赖关系 以便当一个对象的状态发生改变时，所有依赖于他的对象都得到通知并自动更新*

## ***要点总结***

1. *使用面向对象的抽象思想，Observer模式使得我们可以独立地改变目标与观察者，从而使二者之间的依赖关系达致松耦合*
2. *目标发送通知时，无需指定观察者，通知（可以携带通知信息作 为参数）会自动传播*
3. *观察者自己决定是否需要订阅通知，目标对象对此一无所知*
4. *Observer模式是基于事件的UI框架中非常常用的设计模式，也是MVC模式的一个重要组成部分。*

## ***具体代码先不展出  回头会补 想法是直接使用行为树的例子***

