观察者模式 -- Observer -- 行为型模式
Observer -- 观察者模式注重封装对象通知,支持通信对象的变化
UML图:
当一个抽象模型有两个方面,其中一方面以来于;另一方面,这是用观察者模式就可以价格这两者封装在独立的对象中使它们各自独立地改变和复用。
观察者模式所做的工作其实就是在接触耦合。让耦合的双方都依赖于抽象,而不是依赖于具体。从而使得各自的变化都不会影响另一边的变化。
观察者模式体现了依赖倒转原则。
抽象通知者
具体通知者
抽象观察者
具体观察者
main类:生成通知者,并操作通知者
注:向通知者中添加观察者是一种耦合,可以用委托的方式解耦
UML图:
![]() |
当一个抽象模型有两个方面,其中一方面以来于;另一方面,这是用观察者模式就可以价格这两者封装在独立的对象中使它们各自独立地改变和复用。
观察者模式所做的工作其实就是在接触耦合。让耦合的双方都依赖于抽象,而不是依赖于具体。从而使得各自的变化都不会影响另一边的变化。
观察者模式体现了依赖倒转原则。
抽象通知者
![]() |
具体通知者
![]() |
![]() |
抽象观察者
![]() |
具体观察者
![]() |
main类:生成通知者,并操作通知者
![]() |
![]() |
![]() |
注:向通知者中添加观察者是一种耦合,可以用委托的方式解耦