信息查询系统编写--三层架构

来源:互联网 发布:c语言小游戏程序 编辑:程序博客网 时间:2024/06/03 09:24

C#三层架构:

三层架构==表现层(UI)+业务逻辑层(BLL)+数据访问层(DAL)+s实体类库(Model)

(1)在信息查询系统的编写中,首先建立了一个Model实体类库,里面编写了学生类Student:

namespace Models{    /// <summary>    /// 实体类:学生信息    /// </summary>    public class Student    {        public string SNO { get; set; }        public string Name { get; set; }        public string Gender { get; set; }        public DateTime Birthday { get; set; }        public string Mobile { get; set; }        public string Email { get; set; }        public string HomeAddress { get; set; }        public string PhotoPath { get; set; }    }}

实体类:
为什么使用实体类:
1.使程序简洁易懂,便于维护
2.暗合接口不变原则
3.体现面向对象思想
在本程序中,学生信息是贯穿整一个程序的对象,任何操作都是针对它来进行的,因此在实体类库中定义一个学生信息类,因为接下来我们要把.csv文件的内容读取到datagridview中,如果我们用list来转载文件内容,再用dgvgriview.datasourse = objstuedentlist绑定数据源,这样就会比单纯操作字符串方便很多。
若涉及数据库时,带来的益处会更多,这个之后我写那个学生选课系统再总结了。

实体类的定义(get,set访问器):
http://www.cnblogs.com/liuyaozhi/p/4920275.html
这篇文章写的很好。
我们定义student的时候直接用public string sno { get; set; },等价于

public class student    {        private string SNO;//私有成员变量        public string sno//属性        {            get            {                return SNO;            }            set            {                SNO = value;            }        }    }    //访问:    student test = new student();    test.sno = "hello world";//注意访问的时候是sno而不是SNO,get set 的目的就是封装SNO,外界只能通过sno来访问SNO.

(2)UI层的编写
UI层即用户界面层,我们把更用户操作直接相关的操作(控件事件)放在UI层,比如点击导入数据,点击添加等等。另外有一些自定义方法,比如清空详细信息栏,获取详细信息栏学生信息等,与控件相关的只能写在这一层。注意控件方法和自定义方法分开编写并标注。

(3)数据访问层的编写
在DAL类库里,我们写了StudentService和FileOpreator两个类,前者负责对student对象的操作,比如按照学号查询时,传入学号,返回相应的list,后者针对文件的操作,比如增加学生信息后把更新的objlist写入文件里。
(4)业务逻辑层(BLL)对传送数据进行逻辑判断分折,并进行传送正确的值
以后涉及数据库时再深入了解。

原创粉丝点击