一、分层的划分
按照任务职责,我们通常开发数据库应用程序,会有这样一些类的划分。
1、UI:用来和用户交互:给用户展示数据、获取用户数据。
2、数据访问类DAL:用来封装数据库操作的各种方法,分两类:
①通用的数据访问类SQLHelper
②各种数据访问方法的封装,通用一般的数据访问类
二、分层的顺序和好处
数据传递的顺序:UI----》一般数据访问类----》通用数据访问类
分层的好处:①UI根本不知道数据会保存到哪里,这点非常符合“高内聚低耦合”特点
②数据访问类更不用担心数据是从哪里来,让职责更清晰
三、实体类
鉴于UI和数据访问类交互参数过多问题,我们提出使用“实体类”代替过多的参数
1、实体类概念:就是用来表示数据实体的类。数据表中的一条数据就是一个实体,数据表是实体集合
2、实体类设计:一般只包括属性,并且属性和数据表的列是映射关系,注:在数据列表名称设计的时候,最好遵循Pascal命名法。
注:一个数据表有多少列,它的实体类就应该“至少”有多少个属性,并且数据类型要求一致,同时实体类的名称,最好和数据表名称一样。
3、实体类个数:一般有多少张数据表,就应该有多少个实体类,我们还可以根据需要添加扩展的实体类。
4、实体类作用:①封装数据,也就是我们希望调用其他对象的时候,把参数封装到实体类的属性中。②传递数据:将数据通过实体类传递给被调用者,反之亦然。
PS:实践项目中,通常是先添加实体类,然后再增加数据访问类,和其他业务类。数据访问类命名:实体类名称+Service 业务逻辑类命名:实体类名称+Manager
四、基于实体对象的数据返回
引出:我们通常实体类封装了零散的参数,打包后给数据访问方法,现在数据访问方法需要返回给UI,且数据是多条,也就是多个实体,也是零散的数据,因此,我们应该把数据封装到实体类中,用泛型集合list<T>,所以,我们把每条数据封装成实体对象后,在放到LIst集合中,用List集合作为方法的返回值。