個人感覺資料訪問層,設計上應該可以更精簡。
現有的框架是乙個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資料訪問...