我已經繼承了一個大型項目,它包含一個ASP.NET應用程序和一個VB6應用程序。.NET項目類別
我試圖重構代碼,因爲我一直沿。我的問題是:將單個項目分成多個項目有哪些指導原則?我在網上進行了研究,一些開發人員說爲業務邏輯層和數據邏輯層創建單獨的項目,但其他人則說有一個實用程序項目。
其他開發人員使用哪些類別的項目?我正在尋找一個類別列表。
我已經繼承了一個大型項目,它包含一個ASP.NET應用程序和一個VB6應用程序。.NET項目類別
我試圖重構代碼,因爲我一直沿。我的問題是:將單個項目分成多個項目有哪些指導原則?我在網上進行了研究,一些開發人員說爲業務邏輯層和數據邏輯層創建單獨的項目,但其他人則說有一個實用程序項目。
其他開發人員使用哪些類別的項目?我正在尋找一個類別列表。
如果您的系統非常複雜,可以通過子系統將其分割爲多個項目。
史蒂夫·麥康奈爾在代碼完成寫道:
「通用子系統:
業務規則:業務規則是法律,法規,政策和程序,您編碼成一個計算機系統如果您在編寫工資單系統時,您可能會編寫關於允許預扣稅和預計稅率的國稅局規則 ...
用戶界面。創建子系統以隔離e用戶界面組件,以便用戶界面可以進化而不會損害程序的其餘部分。 ...
數據庫訪問。您可以隱藏訪問數據庫的實現細節,以便大多數程序不需要擔心操作底層結構的混亂細節,並且可以根據業務問題級別的使用方式處理數據。 ...
系統依賴關係。將操作系統依賴關係打包到子系統中的原因與打包硬件依賴關係相同。例如,如果您正在爲Microsoft Windows開發程序,爲什麼要限制自己的Windows環境?在Windows界面子系統中隔離Windows調用。如果你以後想你的程序移動到Mac OS或Linux,你就必須改變的是接口子系統「。
您還可以分離出,通常在創建撕循環引用sonamed通用項目幷包含解決方案的常見接口和實用程序。
您能說清楚系統依賴關係的含義嗎?我假定您的意思是指由其他項目的多個項目使用的類,謝謝 – w0051977
我更新我的答案並提供詳細信息 –
謝謝。我正在爲僅限於Windows的.NET平臺進行開發。您能否擴展第4點的.NET? – w0051977