PetShop 4 0 資料訪問層設計之我所見

2021-06-11 00:39:55 字數 1178 閱讀 5111

個人感覺資料訪問層,設計上應該可以更精簡。

現有的框架是乙個dal,對應乙個helper(我們可以理解其實就是真正的資料引擎)。這種方式實現上確實很簡單,但是有重複的地方。對於每種dal,不同的只是helper,其它實現基本相同。

乙個可行的重構,實現乙個真正的helper類,把不同的資料引擎,封裝為乙個dalengine, 一些簡單的**實現,可以參見如下:

public inte***ce idalengine

public abstract class dalhelper

public static object executenonscalar(idalengine engine, commandtype cmdtype, string cmdtext, ilistparameters)

public static idatareader executereader(idalengine engine, commandtype cmdtype, string cmdtext, ilistparameters)

}public class sqldalengine : idalengine

}int executenonquery(commandtype cmdtype, string cmdtext, ilistparameters)

sqlcommand cmd = new sqlcommand();

cmd.connection = conn;

cmd.commandtype = cmdtype;

cmd.commandtext = cmdtext;

if (parameters != null)

}int result = cmd.executenonquery();

return result;

}object executenonscalar(commandtype cmdtype, string cmdtext, ilistparameters)

idatareader executereader(commandtype cmdtype, string cmdtext, ilistparameters)  }

看起來這只是乙個簡單的轉換,但在大型系統,**極多的情況下,絕對是一大改善。

另外,原有的資料訪問層框架,如果在資料沒有準備好的情況下,不便於測試,通過這種改善,我們可以把資料訪問及資料訪問引擎給進行隔離,各自發展

PetShop 4 0 安裝問題

1.無法直接啟動帶有 類庫輸出型別 的專案 若要除錯此專案,請在此解決方案中新增乙個引用庫專案的可執行專案。將這個可執行專案設定為啟動項 經查詢處理方法 出錯原因 在同乙個解決方案裡面有多個專案,被設定成啟動專案的是類庫專案,類庫專案是被編譯成dll檔案給別的專案使用的,是不可執行的專案.解決辦法 ...

petshop4 0 ( 三) 資料庫訪問訊息處理

在進行系統設計時,除了對安全 事務等問題給與足夠的重視外,效能也是乙個不可避免的問題所在,尤其是乙個b s結構的軟體系統,必須充分地考慮訪問量 資料流量 伺服器負荷的問題。解決效能的瓶頸,除了對硬體系統進行公升級外,軟體設計的合理性尤為重要。在前面我曾提到,分層式結構設計可能會在一定程度上影響資料訪...

petshop4 0設計說明

petshop4.0設計說明 一 專案名稱及描述 實現步驟為 4 3 6 5 2 1 1 web 表示層 2 bll 業務邏輯層 3 idal 資料訪問層介面定義 4 model 業務實體 5 dalfactory 資料層的抽象工廠 建立反射 6 sqlserverdal sqlserver資料訪問...