vault backup: 2022-06-14 16:03:24

Affected files:
02. PARA/03. Resources(資源)/Design Pattern.md
This commit is contained in:
2022-06-14 16:03:24 +08:00
parent ec871c349f
commit 1074ddfcfb

View File

@@ -134,7 +134,11 @@ class duckWood : public duck {
## 觀察者模式Observer Pattern ## 觀察者模式Observer Pattern
有一個會產生變動的主角subject與一堆需要觀察變動的觀察者。觀察者向主角註冊,當主角發生變化的時候,發後通知給觀察者。 有一個會產生變動的主角subject與一堆需要觀察變動的觀察者Observer。觀察者向主角註冊,當主角發生變化的時候,發後通知給觀察者。
![[20220614154819_Observer_Pattern.png]] ![[20220614154819_Observer_Pattern.png]]
其中 Subject方面attach() 就是註冊觀察者,也可以叫做 register()、add() 之類。
detach() 用來移除用戶,也可以叫做 unregister()、remove() 之類。
notify()則是當發生變化時,用來通知所有觀察者的實作。
觀察者方面必須實作 update() 才能收到通知。