C 觀察者模式 乙隻神奇的貓

2021-08-17 01:10:55 字數 1082 閱讀 3805

一、觀察者模式,由乙隻貓發起乙個事件。然後影響多個不同的物件(觀察者)發生不同的動作反應。

包括:老鼠會跑(mouse--run)、狗會叫(dog--wang)、小偷會躲起來(stealer--hide)、嬰兒會哭(baby--cry)、媽媽會說話(mother--whisper)等等。。。

二、新建控制台程式,建立這只神奇的貓和多個觀察者物件類;

神奇貓(cat)類

public class cat

miaoevent.....", this.gettype().name);

if (this.miaohandler != null)}}

}

老鼠(mouse)類

public class mouse 

run", this.gettype().name);}}

狗(dog)類

public class dog 

wang", this.gettype().name);}}

小偷(stealer)類

public class stealer 

hide", this.gettype().name);}}

嬰兒(baby)類

public class baby 

cry", this.gettype().name);}}

媽媽(mother)類

public class mother 

whisper", this.gettype().name);}}

三、上面各個類建立完成之後,程式主入口呼叫。

C 觀察者模式

觀察者模式 有時被稱作發布 訂閱模式,觀察者模式定義了一種一對多的依賴關係,讓多個觀察者物件同時監聽某乙個主題物件。這個主題物件在狀態發生變化時,會通知所有觀察者物件,使它們能夠自動更新自己。作用 在大的專案中,當乙個物件的狀態發生改變時可以通知其他相關的物件,這就可以用到觀察者模式。用以將多種物件...

觀察者模式C

當物件間存在一對多的關係,當狀態改變時,其他物件都得到通知,這就是觀察者模式了。觀察者模式實現發布 訂閱功能。如我們有個專案叫ngi,需要召開stanup會議,會議上需求變更時需要通過所有參加會議的人員,我們就可以使用觀察者模式,其uml圖如下 其 實現如下 include include incl...

C 觀察者模式

下面 是使用c 實現觀察者模式的例子 觀察者 介面 public inte ce iobserver 被觀察物件 介面 public inte ce iobservable 觀察者和被觀察物件都分別從這兩個介面實現,所有的操作都是由這兩個介面定義的,而不是具體的實現。所以觀察者和被觀察物件沒有繫結在...