From 1074ddfcfb488458360062cc2fffb4445b6d2527 Mon Sep 17 00:00:00 2001 From: Awin Huang Date: Tue, 14 Jun 2022 16:03:24 +0800 Subject: [PATCH] vault backup: 2022-06-14 16:03:24 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Affected files: 02. PARA/03. Resources(資源)/Design Pattern.md --- 02. PARA/03. Resources(資源)/Design Pattern.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) 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() 才能收到通知。