ASP.NET開發(fā)模式中的三層結(jié)構(gòu)
ASP.NET已經(jīng)出來了有好幾年了,但是在開發(fā)模式上還是使用著傳統(tǒng)的Form模式,沒有成熟的開發(fā)模式的支持。這種技術(shù)的缺點(diǎn)是很明顯的,代碼可重用性低,可擴(kuò)性差,日后的修改和維護(hù)麻煩。
為了開發(fā)的需要,我設(shè)計(jì)了一個(gè)ASP.NET開發(fā)模式,大家一起交流、探討,設(shè)計(jì)得不好的地方還請各位不吝指出。
ASP.NET開發(fā)模式的三層結(jié)構(gòu)的架構(gòu)示例如下圖:
- using System;
- using System.Text;
- using System.Data;
- namespace AccessHelper
- {
- public interface IHelper
- {
- DataTable ExecuteReader(string connectionString, CommandType cmdType, string cmdText);
- int ExecuteNoneQuery(string connectionString, CommandType cmdType, string cmdText);
- object ExecuteScalar(string connectionString, CommandType cmdType, string cmdText);
- void AddParameter(string key, object value); }
- }
DbHelper模塊IHelper接口的定義如下:
IHelper用于直接執(zhí)行SQL語句,它的三個(gè)主要的方法是根據(jù)Command對象的三個(gè)方法來劃分的。其中ExecuteReader方法返回的是DataTable類型,使用DataAdapter把數(shù)據(jù)Fill到DataTable中。這樣做的好處是盡早斷開數(shù)據(jù)庫的連接,釋放資源。
DbDAO模塊根據(jù)具體的Model類來定義,它的作用是把從DbHelper得來的DataTable轉(zhuǎn)換成具體的類。DbDAO通過參數(shù)DataBaseType參數(shù),使用DBHelperFactory工廠類實(shí)例化相應(yīng)的IHelper類。
DbDAL模塊用于處理各種的數(shù)據(jù)訪問邏輯,如登錄,注冊等等。
這就是一個(gè)簡單的ASP.NET設(shè)計(jì)模式,在這個(gè)模式基礎(chǔ)上使用三層結(jié)構(gòu),可以利于項(xiàng)目的開發(fā)和代碼維護(hù)等工作。
【編輯推薦】