【三层】三层架构初识

来源:互联网 发布:逆战抢红包软件 编辑:程序博客网 时间:2024/04/28 08:01

  了解了三层,发现这是对以前知识的更细节化了。比如我们敲机房收费系统时,只知道这几句代码是调用数据库的,可是怎么调用的呢?在三层中就介绍了。

这是文章结构图:


是什么?

UI:User Interface Layer,用户界面层

作用:用户所看到的界面



BLL:business Logic Layer,业务逻辑层
作用:对数据层的操作,对数据业务逻辑处理。如果说数据层是积木,那逻辑层就是对这些积木的搭建。


DAL:Data Access Layer,数据访问层
作用:处理一切和数据库直接进行交互的操作,如数据库的增删改查

为什么用?好处?
可以将程序分层,各个业务之间可以独立,有利于分工合作,提高效率。值得注意的是,只有一个项目复杂到了一定程度时,运用三层才会简便。

三者关系?

数据传递:


依赖关系:


即都依赖于业务实体。(业务实体:用于描述业务中客观存在的对象)

和机房收费系统的联系?


使用规则?

(1)UI不能包含任何业务逻辑的处理过程。这就像服务员不能对菜品进行再加工了
(2)设计时应从BLL出发。BLL层在API上应以面向对象的方式实现所有的业务逻辑。这就像厨师是      整个餐饮服务的最重要的人,他应该把菜完整的做好
(3)数据层应尽量与系统无关。采购员只管把菜买回来,饭店内部的事与其无关
(4)三层应尽量部署在三个服务器上
(5)当一个项目复杂到了一定程度时,运用三层才会简便。简单的用个WebApplication就行了

【备注:以上可把业务逻辑类比为

优缺点?

优:
(1)开发人员可以只关注整个结构中的其中某一层
(2)降低依赖,容易用新的实现来替换原有的
(3)有利于标准化,结构更加明确
(4)能降低后期维护的成本和时间
缺:
(1)降低了系统的性能。这样造成了很多业务不能直接访问数据库,必须通过中间层。增加了流程
(2)可能会导致级联的修改。比如表示层想增加一个功能,为保证其采用分层式结构,可能在BLL和DAL层都得增加相应的代码

小结

U层是和用户打交道,B层是主管逻辑,D层是和数据库交流。



原创粉丝点击