工厂模型学习心得(二)(ASP.Net)

分析好工厂模型的结构和布局后,首先需要分析系统所需数据,然后创建数据库,建立关系表(我就以注册为例,新建一个用户信息表)。

如下图(表中数据为注册成功用户):

(其中delFlag为删除标识,通常数据库中的数据为了不至于丢失只是逻辑删除,而不是物理删除)

数据库建好后,开始各代码的书写:各个层次的建立与系统结构的分析顺序刚好相反。

下图为工厂模型项目中的各层:

从上到下一次是业务逻辑层、工厂、表示层、接口、模型层、数据访问层。

首先需要建立模型层(把关系表转化为面向对象),新建一个类库,取名为Model,然后在Model层中新建一个类,取名为UserInfo(一般为了方便管理,通常将表名作为类名),再将数据表中的字段利用属性封装到对应的类中,其他层中代码的传参都是利用类和属性来实现的。此举避免了团队成员间定义参数的不统一,从而造成传参紊乱。Model就好比是传参的一个标准,所有人调用的参数须用属性实现,成员间不会因书写习惯的不统一而给其他人员带来麻烦。示例代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Model
{
    public class UserInfo
    {
        private int userId;
        private string userName;
        private string accountNum;
        private string password;
        private string telephone;
        private string address;
        private bool delFlag;
        private int osFlag;
        /// <summary>
        /// 用户编号
        /// </summary>
        public int UserId
        {
            get;
            set;
        }
        /// <summary>
        /// 用户名
        /// </summary>
        public string UserName
        {
            get;
            set;
        }
        /// <summary>
        /// 用户帐号
        /// </summary>
        public string AccountNum
        {
            get;
            set;
        }
        /// <summary>
        /// 用户密码
        /// </summary>
        public string Password
        {
            get { return password; }
            set { password = value; }
        }
        /// <summary>
        /// 联系方式
        /// </summary>
        public string Telephone
        {
            get;
            set;
        }
        /// <summary>
        /// 联系地址
        /// </summary>
        public string Address
        {
            get;
            set;
        }
        /// <summary>
        /// 删除标识
        /// </summary>
        public bool DelFlag
        {
            get;
            set;
        }
        /// <summary>
        /// 操作标识
        /// </summary>
        public int OsFlag
        {
            get;
            set;
        }
    }
}

模型层写完后,再建立数据访问(对数据库进行操作),取名为SQLServerDAL,但在此之前先要先定义口,因为接口是为数据访问层定义的标准,就像生活中的电源插座插孔(接口),三个插头的电器只能插入三孔的插孔,两个插头的电器只能插入俩个空的插孔。新建一个类库取名为IDAL,在此类库中新建一个接口,取名IUserInfo,接口中的代码主要是定义方法,但并不实现方法,这些方法将在数据访问层中实现,一般先定义增删改查四个方法,就这些方法为例,代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;

namespace IDAL
{
    public interface IUserInfo
    {
        /// <summary>
        /// 功能:添加
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        int Add(Model.UserInfo model);
        /// <summary>
        /// 功能:删除
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        int Delete(Model.UserInfo model);
        /// <summary>
        /// 功能:更新
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        int Update(Model.UserInfo model);
        /// <summary>
        /// 功能:查找
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        DataSet FindList(Model.UserInfo model);
    }
}

定义接口需要注意的几点:
定义接口需要注意的几点:
1.记得写注释,方便其他人调用;
2.定义接口时,接口名要以大写字母i开头,接口必须为公有类型(+public);
3.接口是在数据访问层中实现的;
4.接口中用到了模型层中的类,所以要添加Model引用。

 

注意:当一个类中需要用到其他类中的方法或属性时,需要添加这个类的引用。

 

待续:→↓

原文地址:https://www.cnblogs.com/_ymw/p/1859949.html