初识三层很新鲜,又接触了新的内容,还是菜菜鸟的我只能简单写写,慢慢进步!
什么是两层?
程序设计一般包括了用户界面、应用逻辑、数据库服务器,但是两层是将用户界面和应用逻辑合并在一起,称为客户机;而数据库则就是服务器了,客户机和服务器之间通过SQL语言进行对话。整个程序分为两部分,所以是两层。
什么是三层?
三层就是把两层中的客户机层进行分离,将用户界面和应用逻辑分成两部分,再加上数据库,这样就是所说的三层。用户界面和应用逻辑通过自定义协议进行交互,应用逻辑和数据库通过SQL语言进行交流,这样层层相依的三部分就是我们说的三层结构程序设计。
两三层图示对比
三层概述
三层在物理层面上叫做:显示层、业务层、数据层;在逻辑层面上叫做:UI、BLL、DAL。
分层的目的是为了实现:高内聚,低耦合的设计原则。
【表现层UI】
1、展示给用户的界面,即用户在使用一个系统的时候所能看到的界面;
2、向用户展现特定业务数据;
3、采集用户的输入信息和操作;
【业务逻辑层BLL】
核心部分,起着承上启下的作用。是用户显示层和数据访问层对话的桥梁。
1、对数据层的操作和业务的处理,即从DAL中获取数据,以供UI显示用;
2、从UI中获取用户指令和数据,执行业务逻辑;
3、从UI中获取用户指令和数据,通过DAL写入数据源;
【数据访问层DAL】
直接操纵数据库,主要是增删改查的功能。
1、从数据源加载数据select;
2、向数据源写入数据insert update;
3、从数据源删除数据delete;
三层之间的关系
数据访问层的类,直接访问数据库,实现基本记录操作。
业务逻辑层的类,调用相关的数据访问类,实现用户所需功能。
界面层:部署控件后,调用业务逻辑层的类,实现功能。
职责机制
UI发出请求调用BLL,BLL向DAL访问得到信息,反馈给BLL层,然后在显示在UI层上,实现了UI和DAL的间接联系。层层之间的引用也是依次的,UI层引用BLL层,BLL层引用DAL层的内容。三层的优缺点
优点
1、开发人员可以只关注整个结构中的其中某一层;
2、可以很容易的用新的实现来替换原有层次的实现;
3、可以降低层与层之间的依赖;
4、有利于标准化;
5、利于各层逻辑的复用。
缺点
降低了系统的性能。如果不采用分层式结构,很多业务可以直接造访数据库,以此获取相应的数据,如今却必须通过中间层来完成。
学习了三层的程序设计并不是说任何系统都要进行三层设计,在恰当是时间恰当的地点合适的使用才是正确的,没有数据访问层,业务逻辑简单的程序同样应该使用两层设计,切记不可乱用,否则根本不能实现简洁方便的目的。