2016-02-26 46 views
0

從維護和部署的角度來看,擁有一個帶有多個(30+個)控制器的Web API 2項目或30+個帶一個控制器的微型Web API 2項目是否合理?帶有衆多控制器的Web API 2項目?

我開始沿着小路讓他們都在一個單一的項目,其結構是這樣的:

Comapany.Project.Api(解決方案)

  • 的AccountController
  • OrderController
  • InventoryController
  • //很多這裏
  • AddressController

我來想部署,因爲我們只使用一個文件系統發佈刪除發佈之前的所有文件時,這將是有問題的。如果我對orderController進行了更改,並且必須在白天進行生產,那麼我會減少許多其他服務。

我對我的項目結構返工是這樣的:

Company.Project(解決方案)

  • Company.Project.AccountApi
  • Comapny.Project.OrderApi
  • Company.Project.InventoryApi
  • //此處更多內容
  • Company.Project.AddressApi

然後,我將有一個

  • Company.Project.Core

這個核心項目將包含類似的擴展方法,自定義異常,actionFilters一些共享代碼等

我知道這個答案可能是非常主觀的。但是,我正在尋找具體的理由來選擇一種解決方案結構。謝謝

回答

0

我堅持一個項目中的所有控制器。我還傾向於使用每個域/層/一個單一的Web API控制器/無論您如何將您的應用程序邏輯分解爲更易於管理的部分,從而減少控制器的數量。

我已將我的做法記錄在我的GitHub Wiki上。