觀察者模式 在spring中的實現

2021-08-26 20:45:52 字數 1282 閱讀 2284

觀察者模式實用範圍:乙個事件觸發了一系列的事件。如果將這一系列的事件寫在乙個方法裡面顯然不是乙個最好的方式,最好的模式就是採用觀察者模式,將各個事件分而治之。

// 一段偽**展示常規寫法,請不要在意業務邏輯

// 缺點就是**高度耦合,將來一旦業務發生變更或者需要新增加乙個事件都需要進行**變更

public void buy(httpservletrequest request, httpservletresponse response)

以下是通過乙個觀察者設計模式進行**變更:

建立乙個事件觸發物件,比如登入成功事件

建立乙個監聽機制,監聽登入事件。

system.out.println(user.getloginname()+"------------郵件"); }}

import org.springframework.stereotype.service;

import com.github.xupei.******.shiro.shirouser;

@service

@override

// todo auto-generated method stub

shirouser user = (shirouser) event.getsource();

system.out.println(user.getloginname()+"------------簡訊"); }

}

spring中的觀察者模式

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

Spring中觀察者模式的應用

service public class myservice 自定義事件 public class myevent extends 自定義 觀察者 component public class mylistener configuration componentscan enableasync pu...

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

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