0%

.NET Core 6 MVC 專案建立資料夾結構

前言

常常在建立 .Net core 6 MVC 專案的時候忘東忘西的,有時候太久沒建會忘記每個資料夾要幹嘛,最近又要建新的專案順手寫一篇來記錄一下

基本結構

在建立 .NET Core 6 MVC 專案時,資料夾結構的分類通常是依據功能或模組來分類,以提高程式碼的可讀性和維護性。

以下是一個常見的 .NET Core 6 MVC 專案資料夾結構範例:

  • Controllers/:包含所有的控制器類別。
  • Models/:包含所有的資料模型類別,通常是以實體類別或檢視模型類別的形式存在。
  • Views/:包含所有的檢視檔案,按照控制器名稱和行動方法名稱來組織。
  • Services/:包含應用程式的服務類別,用於處理商業邏輯和數據處理。
  • Repositories/:包含數據庫存取相關的類別,用於處理與資料庫的互動。
  • Utilities/:包含所有的工具類別,例如日誌、配置等。
  • wwwroot/:包含靜態資源,例如圖片、JavaScript、CSS 等。
  • appsettings.json:應用程式的配置檔案,用於儲存應用程式的設定。
  • Program.cs:包含應用程式的進入點。
  • Startup.cs:包含應用程式的啟動配置。

API結構

在 Controller 底下建立 API 資料夾是一個很好的做法,因為這樣可以將 API 控制器和其他控制器分開,更加清晰明確。在 API 資料夾中,可以進一步進行分層,來分離業務邏輯、資料存取邏輯和資料傳輸等不同的職責。

以下是一個範例資料夾結構,以分層方式建立 API:

  • Controllers/:包含所有的控制器類別。
    • API/:包含所有的 API 控制器類別。
      • v1/:包含所有的 API v1 控制器類別。
        • AuthController.cs:負責處理身分驗證相關的 API 請求。
        • UserController.cs:負責處理使用者相關的 API 請求。
        • …:其他 API 控制器類別。
      • v2/:包含所有的 API v2 控制器類別。
        • AuthController.cs:負責處理身分驗證相關的 API 請求。
        • UserController.cs:負責處理使用者相關的 API 請求。
        • ProductController.cs:負責處理產品相關的 API 請求。
        • …:其他 API 控制器類別。
  • Views/:包含所有的檢視檔案,按照控制器名稱和行動方法名稱來組織。

在這個範例中,API 控制器被分為不同的版本(v1、v2 等),每個版本中又進一步進行分層,例如身分驗證、使用者和產品等相關的 API 控制器被放在不同的類別中。這樣可以提高代碼的可讀性和維護性,並且有助於更好地組織和管理大型的 API 專案。

至於命名,可以根據具體的項目需求進行自由命名。一些常用的命名方式是以職責、模組或操作類型作為前綴,例如 AuthControllerUserControllerProductController。另外,也可以考慮使用 RESTful API 的慣例,例如將 API 路由命名為 /api/users/api/products等。