乙個簡單的觀察者模式

2021-09-13 13:59:44 字數 727 閱讀 9227

物件之間存在依賴關係,當主要物件狀態發生改變,所有依賴它的物件都得到通知並作出相應的反應。

class boss():

def __init__(self):

self.observers =

self.state = ""

def add(self,observe): # 新增觀察者

def notice(self): # 逐個傳送通知

for i in self.observers:

i.update()

class staff(object):

def __init__(self,name,boss):#boss 就是boss()

self.name = name # 觀察者名字

self.boss = boss

def update(self):

print("%s,%s,please don't play games during office hours!"%(self.name,self.boss.state)) # 關鍵是這裡

if __name__ == "__main__":

pony = boss()

ls = staff("alin",pony)

pony.state = "the boss is coming"

pony.add("alin")

ls.update()

簡單的觀察者模式

本文 使用的語言為c 請使用別的語言的同學自行轉換為自己習慣的語言 什麼是觀察者模式?簡單來說,就是一對多的通知,舉個例子 在保衛城堡類的遊戲中,如果城堡受到了攻擊,就會通知 兵營 出兵,城牆 公升級加固等等,這時的城堡就是被觀察者,而負責做出相應反應的就是觀察者。當被觀察者狀態發生改變的時候,通知...

觀察者模式簡單總結

觀察者模式就是兩個類的使用 public inte ce observer public class observable就像我們平時寫監聽一樣,不過這次是把listener加入集合中使用。public class aa public void notifyobservers public inte...

觀察者模式的簡單demo

定義物件之間一對多的關係,當乙個物件狀態被更新時,所有依賴於它的物件都將被更新。觀察者模式有四種定義角色,分別為 抽象主題 subject 具體主題 concretesubject 抽象觀察者 observer 具體觀察者 concreteobserver 這種模式可以理解為 抽象主題中定義具體主題...