觀察者模式使用C 實現

2021-06-19 03:12:14 字數 997 閱讀 3807

1.

請用觀察者模式實現如下應用場景(15分)

夜裡有乙隻貓大叫了一聲,同處一屋的老鼠接受到了貓大叫的資訊,於是開始逃跑。同樣,主人聽到了,被吵醒了。

要求:* 老鼠跟主人是被動的

* 要考慮聯動性與擴充套件性

評分標準:介面定義5分,介面實現5分,呼叫介面實現測試5分。本題滿分15分。

參***

using system;

using system.collections.generic;

using system.text;

using system.collections;

namespace learncatcry

public

inte***ce

cryer

#endregion

#region"介面實現5分"

public

class

mouse : observer

#region observer 成員

public

void response()

#endregion

}public

class

host : observer

#region observer 成員

public

void response()

#endregion

}public

class

cat : cryer

public

void cry()

}#region cryer 成員

public

void addobserver(observer objobserver)

#endregion

}#endregion

#region "呼叫實現5分"

public

class

solvecatcry }

#endregion

}

C 實現觀察者模式

定義物件間的一種一對多的依賴關係,當乙個物件的狀態發生改變時,所有依賴於它的物件都得到通知並被自動更新。完美的將觀察者和被觀察的物件分離開。有時又被稱為 模型 檢視 view 模式 源 收聽者 listener 模式 或為發布 訂閱模式 目標就是通知的發布者,觀察者是通知的訂閱者 接受通知 obse...

C 實現觀察者模式

舉乙個例子 報社發行報紙 你訂閱報紙,一旦有新一期的報紙發行,新報紙就會送到你家裡,只要你一直訂閱,你就一直會收到新報紙 你不再訂閱報紙的時候,就收不到以後的新報紙了 報社運營的時候,一直會有人去訂閱或者取消訂閱報紙.發布者 訂閱者 觀察者模式 publishers subscribers obse...

觀察者模式 C 實現

定義物件間的一種一對多的依賴關係,當乙個物件的狀態發生改變時,所有依賴於它的物件都得到通知並被自動更新。觀察者模式有四個角色 抽象主題 具體主題 抽象觀察者 具體觀察者。抽象主題 把所有觀察者物件的引用儲存到乙個聚集裡,每個主題都可以有任何數量的觀察者。具體主題 將有關狀態存入具體觀察者物件 在具體...