簡體   English   中英

建議簡化我的架構... asp.net mvc

[英]Advice simplifying my Architecture… asp.net mvc

我目前有一個 UI 層/DomainService 層(域邏輯和服務駐留在這里)和用於持久性的 Repo 層,我使用Ninject來幫助解耦。

我的 UI 層非常簡單 - 它將任務委托給服務層,但是我有一個非常復雜的應用程序,它依賴於登錄用戶,因此我的 CRUD 可能會變得非常復雜。

但我的問題是:我有一個幾乎所有東西的服務,然后連接到一個 GenericRepository。

例如 IOrder 與 IDBRepo 通信以獲取訂單信息,具體取決於訪問訂單的客戶端,然后我有 Ishipping - 它也連接到 IDBRepo 並檢索信息......當一個服務需要調用另一個服務時它變得復雜,它們都是連接到 IDBRepo。

我已經設法拔出 IUserSession 並可以將其提供給每個服務 - 但這對我來說似乎太復雜了......

在設置我的測試時,我必須執行以下操作:

var db = new DBRepo();
var s1 = new OrderService(db);
var s2 = new ShippingService(s1,db);

然后要擴展我的部分/大部分服務,我必須添加ILoggingServiceINotificationService - 他們都需要訪問數據庫......

注意:我不是在尋找純粹的 DDD,我正在努力利用最好的東西並讓它發揮作用我想這是我的問題......

Bob Cravens 卡車跟蹤器是一系列很好的帖子,可以讓您思考:

http://blog.bobcravens.com/2011/05/a-net-generic-repository-pattern-with-implementations/

一般來說,如果可以避免的話,我認為擁有相互依賴的服務並不是一個好主意。 如果您必須擁有它,那么請考慮使用依賴注入框架,例如 unity 或 spring.net 或 ninject。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM