[英]Data flow of MVC application architecture
試圖在MVC應用程序中驗證數據流的方法,我正在清理和簡化(在一些重構之后)當前的事情如下圖所示(數據流由箭頭指示)。 並編寫了一些部分來訪問跳過圖層的存儲庫服務。 (就像直接訪問存儲庫服務以查找數據的HTML幫助程序一樣)
幾個問題。
這似乎是一種常見的設計。 不幸的是,我沒有足夠的經驗指出設計的缺陷,因為我目前的項目是我第一次體驗這種架構。
如果您說存儲庫服務是在多個層中訪問的,那么您是不是錯過了幾個箭頭? 理想情況下,您不希望從控制器(或Razor幫助程序)訪問您的存儲庫,因為這會使您的代碼更緊密地耦合並使您的關注點分散。 但是,這並不是說在多個模塊中擁有一些有限的存儲庫訪問權限是很糟糕的。 最佳實踐是將這些存儲庫調用移動到業務邏輯中,然后從那里將其傳遞給控制器。
我目前使用的ASP.NET項目使用的是非常相似的架構,我們正在取得成功。
似乎已經相當不錯了。
通常我有以下分層:
為了最小化依賴性,我對接口進行編程; 其中具體實現由IoC容器注入。 這意味着每個組件也都是非常可測試的。
表示層的控制器很薄,僅使用服務層(和基礎結構層)。
這是一種非常靈活的方法,但又足夠簡單,適用於大多數類型的應用程序。 此外,如果您使用實體框架,您可能想要考慮您是否確實需要存儲庫和工作單元。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.