面象对象开发项目三层架构
面象对象开发项目三层架构:
- 界面层
- 业务逻辑层
- 数据访问层 (分为实体类和数据访问类)
一、实体类
-
数据库中的表映射为一个类,类名与表名一致。表中的每一列,都为该类下的成员变量和属性也就是最简单的封装。
-
把数据库中的表名变为类的类名
-
把数据库中的每一列,变为实体类中的成员变量和属性(也就是队每个数据库中的字段封装)
-
列明与属性名一致。成员变量名 : 在列明前边加上下划线,因为在外部访问只能访问到属性。
二、数据访问类
- 将某个表的数据库操作协程一个方法,放到该类中,供外部调用。
题外话 : 可访问性
public | 访问不受限制 |
---|---|
protected | 访问仅限于此类和从此类派生的类 |
private | 访问仅限于此类 |
这里引用一下大佬的 "猪仔的一生"图解,能让大家更好的理解三层的思想。
引言
通常意义上的三层架构是将真个业务应用划分为:界面层(UI层)、业务逻辑层(B层)、数据访问层(D层)。对于复杂的系统分层让结构清晰,便于开发人员对系统进行整体的理解、把握;而且便于维护,系统基本的架构可以通过工具自动生成代码。当数据库发生改变时,只用重新生成代码,改动业务逻辑层的部分代码即可。
对比以上两张图片,我们可以看出:
(1)数据库好比猪圈,所有的猪都有序地按区域或编号,存放在不同的猪栏里
(2)DAL好比是屠宰场 ,把猪从猪圈取出来进行(处理)屠杀,按要求取出相应的部位(字段),
或者进行归类整理(统计),形成整箱的猪肉(数据集),传送给食品加工厂( BLL )。本来这里都是
同一伙人既管抓猪,又管杀猪的,后来觉得效率太低了,就让一部分人出来专管抓猪了( DBUtility ),
根据要求来抓取指定的猪
(3)BLL 好比食品加工厂 ,将猪肉深加工成各种可以食用的食品(业务处理)
(4)UI 好比商场 ,将食品包装成漂亮的可以销售的产品,展现给顾客( UI 表现层)
(5)猪肉好比 Model ,无论是哪个厂(层),各个环节传递的本质都是猪肉,猪肉贯穿整个过程
(6)通用类库 Common 相当于工人使用的各种工具,为各个厂(层)提供诸如杀猪刀、绳子、
剪刀、包装箱、工具车等共用的常用工具(类)。其实,每个部门本来是可以自己制作自己的工
具的,但是那样会使效率比较低,而且也不专业,并且很多工作都会是重复的。因此,就专门有
人开了这样的工厂来制作这些工具,提供给各个工厂,有了这样的分工,工厂就可以专心做自己的事情了
数据访问层
- 一般只编写基本的增删改查方法,不能出现业务逻辑代码
- 作用有俩点:第一 解析对象–组合SQL 第二 封装对象–向上传(也就是BLL–业务逻辑层)
业务逻辑层
- 一般只编写业务逻辑代码,根据用户的需求决定如何如何调用数据访问层的方法,不能出现任何的SQL语句即数据访问代码
- 只能调用DAL(数据访问层)中的方法,不能调用其他任何层的方法
- 作用一:处理业务逻辑 作用二: 传递数据
用户界面层(UI层)
- 一般只编写获取用户操作信息、数验证、数据展示代码
- 只能调用BLL(业务逻辑层)的方法,不能调用DAL中的方法
- 作用一:封装对象–向下传(也就是BLL–业务逻辑层) 作用二: 解析对象–展示数据