[英]What pattern is layered architecture in asp.net?
我是一名 asp.net 開發人員,對模式和架構了解不多。 如果你能在這里指導我,我將非常感激。
在我的 web 應用程序中,我使用了 4 層。
Web 網站項目(有 web forms + 代碼隱藏 cs 文件,用戶控件 + 代碼隱藏 cs 文件,母版頁 + 代碼隱藏 cs 文件)
CustomTypesLayer 一個 class 庫(具有自定義類型、枚舉、DTO、構造函數、get、set 和驗證)
BusinessLogicLayer 一個 class 庫(具有所有業務邏輯、規則和對 DAL 函數的所有調用)
DataAccessLayer 一個 class 庫(只有與數據庫通信的類。)
-我的用戶界面只調用 BusinessLogicLayer。 BusinessLogicLayer 自行處理數據,並調用 DataAccessLayer 函數處理數據。
-Web forms 不直接調用 DAL。
-CustomTypesLayer 由所有圖層共享。
請指導我這種方法是一種模式嗎? 我雖然它可能是 MVC 或 MVP,但頁面也有文件背后的代碼,這讓我感到困惑。
如果沒有模式,它是否接近某種模式?
那不是四層,而是三層,所以它是常規的三層體系結構。
CustomTypesLayer根本不是一個圖層。 如果是這樣,則用戶界面將僅使用自定義類型層,而從不直接與業務層對話,而數據訪問層將永遠不使用自定義類型層。
三層架構是多層架構
就模式而言,我建議您掌握以下內容:
假設您還沒有看到Wikipedia,那么它會列出相當不錯的軟件設計模式 。
最后要牢記的是,存在三種基本類型的模式(加上多線程/並發的第四類); 它可以幫助您了解這些類別,並在進行此類操作時記住這些類別,它們是:
看一看實體框架或LinqToSQL。 它們都可以從數據庫自動生成數據訪問層。 這將節省您很多(無聊的)工作,並使您可以專注於有趣的圖層。
后台代碼實際上與體系結構沒有任何關系-它更多是一種編碼風格。 這是一種將邏輯與表示分離的方法。 您提到的任何體系結構都可以使用或不使用代碼隱藏。
您似乎正在描述標准的三層體系結構。 MVC是一種模式,用於描述您的圖層和用戶如何交互。 用戶請求一個頁面(由View表示),該頁面向Controller請求其數據。 Controller與您的業務層(模型)進行通信以提取正確的數據,並將其傳遞給您的View以進行顯示。 如果視圖是交互式的,例如它允許用戶更新某些內容,則此用戶操作操作將傳遞回您的控制器,后者將針對業務層調用相關方法以將更新保存到數據庫。
希望這可以幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.