Spring框架使用觀察者模型

2021-08-19 11:31:34 字數 1659 閱讀 8853

觀察者模型

為了對**模組進行解耦

觀察者

@component

public

class

orderstatusobserveable

implements

initializingbean

public

synchronized

void

addobserver(orderstatusobserver monitor)

if (!observers.contains(monitor))

}public

synchronized

void

deleteobserver(orderstatusobserver monitor)

if (observers.isempty())

observers.remove(monitor);

}//非同步執行

@async

public

synchronized

void

notifyobservers(orderstatusupdater updater)

for (orderstatusobserver observer : observers) catch (exception e) }}

@override

public

synchronized

void

afterpropertiesset() throws exception

for (string name : beans.keyset())

}}

***

public

inte***ce orderstatusobserver

物件

public

class orderstatusupdater

public long getstoreid()

public

void

setstoreid(long storeid)

public long getorderid()

public

void

setorderid(long orderid)

public orderstatus getnewstatus()

public

void

setnewstatus(orderstatus newstatus)

}

***執行器

@component

public

class

orderupdateobserver catch (exception e)

return effectrow;

}}

實現***

@component

public

class

distributionalldeal

implements

orderstatusobserver

}

希望能幫到大家。大家如果有興趣可以來我的**看看:

觀察者模式(推模型 拉模型)

觀察者模式 observer pattern 當乙個物件被修改時,會自動通知它的依賴物件 現在我們是新聞社,要向所有新聞訂閱者推送新聞。那麼該如何實現呢?經過思考我們不難發現一家新聞社一般對應的是多個新聞訂閱者。那麼我們先從新聞社開始入手,想一想新聞社要具備哪些基本功能呢?1.新聞,2.有哪些訂閱者...

spring中的觀察者模式

下列描述了spring提供的內建事件 requesthandledevent 乙個特定的web事件告訴所有能處理http請求的bean 這個事件是在請求完成後發布的。這個事件只適用於使用 spring 的 dispatcherservlet 的web應用程式。回到頂部 例項 private proc...

python觀察者模式 python 觀察者模式

python 觀察者模式 前言e 寫的倉促就不截uml類圖了,書本chapter10,p313能看到圖 一旦觀察的主題有更新,就會通知到觀察者們,下面的例子是最簡單的乙個觀察者範例,假設這是一群投機分子密切關注 軍 火 倉庫的產品與數量變動 class inventory def init self...