UI和DAL分层

一、分层的划分

按照任务职责,我们通常开发数据库应用程序,会有这样一些类的划分。

1、UI:用来和用户交互:给用户展示数据、获取用户数据。

2、数据访问类DAL:用来封装数据库操作的各种方法,分两类:

①通用的数据访问类SQLHelper

②各种数据访问方法的封装,通用一般的数据访问类

二、分层的顺序和好处

数据传递的顺序:UI----》一般数据访问类----》通用数据访问类

分层的好处:①UI根本不知道数据会保存到哪里,这点非常符合“高内聚低耦合”特点

                      ②数据访问类更不用担心数据是从哪里来,让职责更清晰

三、实体类

鉴于UI和数据访问类交互参数过多问题,我们提出使用“实体类”代替过多的参数

1、实体类概念:就是用来表示数据实体的类。数据表中的一条数据就是一个实体,数据表是实体集合

2、实体类设计:一般只包括属性,并且属性和数据表的列是映射关系,注:在数据列表名称设计的时候,最好遵循Pascal命名法。

注:一个数据表有多少列,它的实体类就应该“至少”有多少个属性,并且数据类型要求一致,同时实体类的名称,最好和数据表名称一样。

3、实体类个数:一般有多少张数据表,就应该有多少个实体类,我们还可以根据需要添加扩展的实体类。

4、实体类作用:①封装数据,也就是我们希望调用其他对象的时候,把参数封装到实体类的属性中。②传递数据:将数据通过实体类传递给被调用者,反之亦然。

PS:实践项目中,通常是先添加实体类,然后再增加数据访问类,和其他业务类。数据访问类命名:实体类名称+Service  业务逻辑类命名:实体类名称+Manager

四、基于实体对象的数据返回

引出:我们通常实体类封装了零散的参数,打包后给数据访问方法,现在数据访问方法需要返回给UI,且数据是多条,也就是多个实体,也是零散的数据,因此,我们应该把数据封装到实体类中,用泛型集合list<T>,所以,我们把每条数据封装成实体对象后,在放到LIst集合中,用List集合作为方法的返回值。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,161评论 1 32
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 11,249评论 6 13
  • ORA-00001: 违反唯一约束条件 (.) 错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常。 O...
    我想起个好名字阅读 5,482评论 0 9
  • 突发奇想,想去尝试一个人旅游的快乐,人独立,经济上不依靠任何人,精神上也独立自主,想去哪里,马上就出发,不再瞻前顾...
    初衫阅读 486评论 1 13
  • 正如开篇所言,Mac 自带的 Python 已经能够满足我们的需要了,因此很多同学在安装完 Python 之后,又...
    彭强兵阅读 4,933评论 0 1