cqrs mediatr中介者模式,這個講的非常明白怎麼用
mediatr
install mediatr
pm> install-package mediatr
imeditator
irequese、irequest
irequesthandler
publicclass createorderrequestmodel:irequest
public
string cardnumber
}public
class getorderbyidrequestmodel:irequest
}
//返回值public
inte***ce irequest: ibaserequest{}
//無返回值
public
inte***ce irequest : irequest, ibaserequest{}
建立處理程式,所有的處理程式都通過irequesthandler介面來實現,該介面有兩個引數,第乙個是請求內容,第二個是響應內容.
publicclass
createordercommandhandler: irequesthandler
string>
}
正如下**片段,處理程式實現了irequesthandler帶有輸入和輸出型別定義的介面
publicinte***ce irequesthandler where trequest : irequest
public
class
getorderbyidqueryhandler :irequesthandler
string>
}
install mediatr.extensions.microsoft.dependencyinjection
pm> mediatr.extensions.microsoft.dependencyinjection
在startup.cs中註冊mediatr
services.addmediatr(assembly.getexecutingassembly());
我們只需要注入imediator介面,通過如下**我們來使用他們
參考:
中介者模式
1.中間 類 namespace intermediarypattern 成員物件需要知道是哪個中介者在通知它事情 public abstract class member 各成員間要傳送訊息 public abstract void send string msg 這個方法其實是具體實施發訊息的 ...
中介者模式
中介者模式就是在物件之間的關係很複雜時用,名如其人,就像租房的黑中介一樣,如果每個房東都拿著很多租房者的資訊很麻煩,每個租房者都要拿著很多房東的資訊也麻煩,所以需要乙個中介來拿著這些資訊,租房者只需要發出租房的請求,中介會給你介紹合適的房東,房東只需要提交房屋資料就等著中介的人帶著訪客看房拿錢就行了...
中介者模式
中介者模式 mediator pattern 1 抽象中介者 mediator 角色 抽象中介者角色定義統一的介面用於各同事角色之間的通訊。具體中介者 concrete mediator 角色 具體中介者角色通過協調各同事角色實現協作行為,因此它必須依賴於各個同事角色。同事 colleague 角色...