我目前正在研究幾個功能獨立的.NET Web應用程序(MVC)。我們爲每個封裝的問題保留了我們的項目。因此,我們已經結束了與項目一樣:設計原理如SoC在公共庫中的上下文
App.DataAccess
App.Services
App.WebApi
App.Domain 等
有一個代碼塊這兩部分之間可以有效地分享,並且這些部分已經被分離到他們自己的項目中。
通用/ Core.DataAccess
通用/ Core.Services
通用/ Core.Domain
通用/ Core.WebApi 等
我們現在上固定的工作情況這個'公共代碼'基本上被複制到兩個應用程序中,我們使用過程作爲一種創可貼,以使它們在兩個應用程序之間保持同步。
經過一番研究,我的建議迄今已有:
1)創建一個私人的NuGet飼料(託管自己的服務器上)
2)給出的通用代碼自己的解決方案,並推動它到這個飼料。
3)兩個應用程序現在都將此通用代碼作爲nuget包安裝。
一般來說,每個人都對這種方法感到滿意。意見分歧來自於構建這個新的解決方案。
目前共有9個項目,其中一些項目小到一個班級。最大的項目是< 25個文件大。我覺得我們應該將所有內容整合到一個項目中,並使用文件夾和名稱空間進行封裝。
該團隊擔心的是,由於我們的Web項目將引用此nuget包並訪問某些數據訪問組件,因此將會違反問題分離。
在這裏有一個普遍接受的模式,或者是保持9個項目和9個nuget包以保持SoC滿意的最佳解決方案嗎?
欣賞任何指導!
〜薩加爾