diff --git a/02. PARA/03. Resources(資源)/Design Pattern.md b/02. PARA/03. Resources(資源)/Design Pattern.md index 643c11a..fc5ba55 100644 --- a/02. PARA/03. Resources(資源)/Design Pattern.md +++ b/02. PARA/03. Resources(資源)/Design Pattern.md @@ -134,7 +134,11 @@ class duckWood : public duck { ## 觀察者模式(Observer Pattern ) -有一個會產生變動的主角(subject),與一堆需要觀察變動的「觀察者」。觀察者向主角註冊,當主角發生變化的時候,發後通知給觀察者。 +有一個會產生變動的主角(subject),與一堆需要觀察變動的觀察者(Observer)。觀察者向主角註冊,當主角發生變化的時候,發後通知給觀察者。 ![[20220614154819_Observer_Pattern.png]] -其中 \ No newline at end of file +Subject方面,attach() 就是註冊觀察者,也可以叫做 register()、add() 之類。 +detach() 用來移除用戶,也可以叫做 unregister()、remove() 之類。 +notify()則是當發生變化時,用來通知所有觀察者的實作。 + +觀察者方面必須實作 update() 才能收到通知。