Areas区域
ASP.NET MVC Areas 區域
使用 ASP.NET MVC 的區域(Areas)實現分部開發和集中部署
1、 什么是 Areas
Areas是 ASP.NET MVC 用來將相關功能組織成一組單獨命名空間(路由)和文件夾結 構(視圖)的功能
新建的MVC工程是沒有區域的。
2、 Areas 的使用MVC本身提倡的就是關注點分離。區域的創建可以協助你在架構較大的項目中,讓獨立性較高的部分功能作為一個單獨的子MVC系統,降低網站與網站之間的耦合度,也可以通過area切割,讓多個開發人員開發同一個項目時,減少沖突。
隨著項目規模的不斷擴大,Controller控制器也隨之不斷增多。如果在Controllers文件夾下面有超過兩位數controller,即便采用良好的命名規范,或者用子文件夾的形式區分不同功能的控制器,還是會影響項目的可閱讀性和可維護性。因此,在一些場景下,如果能把與某功能相關的文件分離到一個獨立的項目中是非常有用的。Asp.Net MVC提供了Areas(區域)的概念達到這一目的。
但是當項目本身的業務邏輯足夠復雜,如果所有的業務邏輯都寫個Controller文件夾下面的時候,你會看到非常龐大的各種命名的Controller, 這個時候區域的作用就非常明顯了,將不同的模塊通過區域加以區分,簡單明了。
Areas 是 ASP.NET MVC 用來將相關功能組織成一組單獨命名空間(路由)和文件夾結構(視圖)的功能。使用 Areas 創建層次結構的路由,是通過添加另一個路由參數 area 到 Controller 和action。
Areas 提供了一種把大型 ASP.NET Core MVC Web 應用程序分為較小的功能分組的方法。Area 是應用程序內部一個有效的 MVC 結構。
在 MVC 項目中,像 Model,Controller 和 View 的邏輯組件放在不同的文件夾中, MVC 用命名約定來創建這些組件間的關系。 對于大型應用,它有利于把應用分割成獨立高級功能的 Areas。例如,一個多業務單元的電子商務應用,如結賬,計費和搜索等。
每個單元都有自己的邏輯組件:視圖、控制器和模型。在這種情況下,你可以用Areas 在同一項目中物理分割業務組件。
在 ASP.NET Core MVC 項目中 Area 被定義成為有自己的一套 controller,view 和 model 的較小的功能單元。
當有下列情況時應當考慮在 MVC 項目中用 Areas:
應用程序應該從邏輯上分隔成多個高級功能組件的
想要分隔MVC 項目,使每一個功能 area 可以獨立工作 Area 特性: ?
? 一個 ASP.NET Core MVC 應用可以有任意數量的 area ?
? 每一個 area 都有自己的控制器、模型和視圖 ?
? 允許把大型 MVC 項目組織成多個高級組件以便可以獨立工作 ?
? 支持具有相同名稱的多個控制器 - 只要它們有不同的 areas
總結
- 上一篇: InfiniBand技术和架构
- 下一篇: aiff 文件格式简述