中介者模式的實現 MediatR

2022-01-15 18:20:57 字數 1161 閱讀 6657

mediatr支援兩種模式:

1、nuget新增引用包

mediatr

mediatr.extensions.microsoft.dependencyinjection(如果處理類需要依賴注入,引用此包)

2、注入相關服務

services.addmediatr(system.reflection.assembly.getexecutingassembly());//把自定義的訊息類,處理訊息類注入到服務中
定義訊息型別

irequest:有返回值單播訊息

irequest 無返回值單播訊息

public class ping : irequest   

public string content }

建立訊息處理類

irequesthandler: ping訊息類,string是返回型別

requesthandler:如果是同步處理,可繼承此類

asyncrequesthandler:如果是非同步處理,可繼承此類(測試沒找到這個類)

public class pinghandler : irequesthandler

}

傳送請求:

public iactionresult index([fromservices] imediator mediat)

);string result = task.result;

return view();

}

inotification:訊息類繼承此介面

inotificationhandler:訊息處理類繼承此介面

public class notifimessage : inotification

}public class notifihandler1 : inotificationhandler1,");}}

public class notifihandler2 : inotificationhandler2,");

}}

發布訊息:
await mediator.publish(new hello() );
參考:

待)

中介者模式

1.中間 類 namespace intermediarypattern 成員物件需要知道是哪個中介者在通知它事情 public abstract class member 各成員間要傳送訊息 public abstract void send string msg 這個方法其實是具體實施發訊息的 ...

中介者模式

中介者模式就是在物件之間的關係很複雜時用,名如其人,就像租房的黑中介一樣,如果每個房東都拿著很多租房者的資訊很麻煩,每個租房者都要拿著很多房東的資訊也麻煩,所以需要乙個中介來拿著這些資訊,租房者只需要發出租房的請求,中介會給你介紹合適的房東,房東只需要提交房屋資料就等著中介的人帶著訪客看房拿錢就行了...

中介者模式

中介者模式 mediator pattern 1 抽象中介者 mediator 角色 抽象中介者角色定義統一的介面用於各同事角色之間的通訊。具體中介者 concrete mediator 角色 具體中介者角色通過協調各同事角色實現協作行為,因此它必須依賴於各個同事角色。同事 colleague 角色...