国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
Winform 三層架構(gòu)小例子 - jacky73 - 博客園

Winform 三層架構(gòu)小例子

在web開發(fā)中常常用到工廠模式三層架構(gòu),現(xiàn)在也在Winform中應(yīng)用這種架構(gòu)方式,嘗試了很多,也模仿了經(jīng)典例子PetShop,但是還是不行,也參考了網(wǎng)上的一些例子?,F(xiàn)在把我這個例子的整個制作過程簡單的介紹一下。(由于本例子是介紹三層結(jié)構(gòu),所以只是簡單的應(yīng)用,如果你覺得這種方式好,請自己實現(xiàn)其他模塊)
結(jié)構(gòu):
-------PMIS--------主程序代碼
表示層,負(fù)責(zé)應(yīng)用程序的表現(xiàn)形式、用戶體驗等。
-------DALFactory-----抽象工廠
抽象工廠,用于創(chuàng)建各種數(shù)據(jù)對象的方法,這里有配置文件和反射的運用。
-------IDAL--------數(shù)據(jù)接口層(控制是選擇什么類型的數(shù)據(jù)庫)
數(shù)據(jù)操作接口,數(shù)據(jù)訪問層實現(xiàn)其接口并重寫它(體現(xiàn)了面向接口的編程思想)。
-------BLL------
處理應(yīng)用程序的業(yè)務(wù)邏輯,被表示層調(diào)用。
-------Model-------構(gòu)造模型(對應(yīng)數(shù)據(jù)庫字段)
Model程序集,存放實體類,用于數(shù)據(jù)訪問層和邏輯層調(diào)用
-------SQLServerDAL----SQLServer數(shù)據(jù)訪問層
數(shù)據(jù)訪問層,實現(xiàn)具體的select、update、delete....操作,重寫IDAL接口。
-------DBUtility----公共數(shù)據(jù)訪問層
數(shù)據(jù)處理層,實現(xiàn)具體的ExecuteReader,ExecuteDataTable,ExecuteNonQuery等。
-------Utility----公共層
實現(xiàn)從配置文件中讀取數(shù)據(jù)庫聯(lián)接字符串。
1、數(shù)據(jù)庫結(jié)構(gòu)
數(shù)據(jù)庫名PMIS
表Admin
    [ID] [bigint] 編號
    [Name] [varchar](10) 名稱
    [PassWord] [varchar](100) 密碼
    略......
建表語句
CREATE TABLE [dbo].[Admin](
    [ID] [bigint] IDENTITY(1,1) NOT NULL,
    [Name] [varchar](10) COLLATE Chinese_PRC_CI_AS NOT NULL,
    [PassWord] [varchar](100) COLLATE Chinese_PRC_CI_AS NOT NULL,
    [PurviewID] [int] NOT NULL,
    [Remember] [int] NULL,
    [AutoRun] [int] NULL,
    [DepartmentsID] [bigint] NULL,
 CONSTRAINT [PK_管理員_1] PRIMARY KEY CLUSTERED
(
    [ID] ASC
) ON [PRIMARY]
) ON [PRIMARY]
2、接著建立數(shù)據(jù)庫模型
Model
 #region 內(nèi)部成員字段
        private int _id;
        private string _Name;
        private string _Password;
        略...
#endregion
#region 方法
        public AdminInfo() { }

        public AdminInfo(string userName, string password)
        {
            this._Name = userName;
            this._Password = password;
        }
#endregion
3、建立DALFactory-----抽象工廠
public static IDAL.IAdmin Create()
        {
            string path=System.Configuration.ConfigurationSettings.AppSettings["DAL"];
            string className="SQLServerDAL.Admin";

            IDAL.IAdmin acount=(IDAL.IAdmin)Assembly.Load(path).CreateInstance(className);
            return acount;
        }
4、建立IDAL--------數(shù)據(jù)接口層
public interface IAdmin
    {
        AdminInfo Login(string userName, string password);
        int Insert(AdminInfo account);
        int Update(AdminInfo account);
    }
5、建立Utility----公共層
public static string ConnectionString()
        {
            return (ConfigurationSettings.AppSettings["ConnectionString"]);
        }
6、建立DBUtility----公共數(shù)據(jù)訪問層和SQLServer數(shù)據(jù)訪問層
DBUtility中建立SQLHelper類
SQLServerDAL的Admin類需要繼承IAdmin
public class Admin:IAdmin
    {}
Admin類主要實現(xiàn)用戶登陸功能
7、建立業(yè)務(wù)邏輯曾BLL
方法public static AdminInfo Login(string userName, string password){}
8、為PMIS主程序添加應(yīng)用程序配置文件app.config
添加<appSettings>
    <add key="ConnectionString" value="server=.;uid=sa;pwd=;database=PMIS"></add>
    <add key="DAL" value="SQLServerDAL"></add>
  </appSettings>
在主程序的窗體中添加控件,為按鈕添加事件
if (BLL.Admin.Login(參數(shù)) == null)
            {
               //處理...
            }
            else
            {
                //處理...
            }
« 上一篇:“三層結(jié)構(gòu)”是“外觀層”、“商業(yè)邏輯層”、“數(shù)據(jù)庫層” 實例
» 下一篇:C#的事務(wù)處理(三層架構(gòu))
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
webwork Freemarker較完整的GRUD數(shù)據(jù)庫操作例子(簡單方便使用同一個頁面...
jfinal-shiro的shiro注解結(jié)合數(shù)據(jù)庫url路徑過濾,動態(tài)維護(hù)你的權(quán)限系統(tǒng),支持ajax
MySQL的分區(qū)表(Partitioned Table)功能詳解
asp.net三層架構(gòu)詳解
Java數(shù)據(jù)類型和MySql數(shù)據(jù)類型對應(yīng)一覽
mysql學(xué)習(xí)筆記!
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服