zoukankan      html  css  js  c++  java
  • 工厂模型学习心得(二)(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引用。

     

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

     

    待续:→↓

  • 相关阅读:
    课程作业08:课后作业之字串加密、动手动脑之String.equals()方法、整理String类的Length()、charAt()、 getChars()、replace()、 toUpperCase()、 toLowerCase()、trim()、toCharArray()使用说明、阅读笔记发表到博客园。
    课程作业07:请编写一个程序,使用上述算法加密或解密用户输入的英文字符串。
    课程作业06:验证课件上的代码,并将所有的动手动脑或要求发表博客作业部分整理成一篇博客发表。
    课程作业05:使用类的静态字段和构造函数,我们可以跟踪某个类所创建对象的个数。请写一个类,在任何时候都可以向它查询“你已经创建了多少个对象?”
    Django 学习之用户认证组件auth与User对象
    Django 学习之中间件Middleware
    Django学习 之后端视图与ajax
    Django 学习之cookie与session
    Django 学习 之ORM聚合查询分组查询与F查询与Q查询
    Django 学习 之ORM多表操作
  • 原文地址:https://www.cnblogs.com/_ymw/p/1859949.html
Copyright © 2011-2022 走看看