黑马程序员技术交流社区

标题: 关于三层架构的一些基础知识,小小普及下 [打印本页]

作者: 王德钊    时间: 2013-4-22 16:33
标题: 关于三层架构的一些基础知识,小小普及下
三层架构:什么意思呢?其实很简单,新手会很自然的把一个小的系统做成同一个整体,不会进行划分。这样完成的东西,一是没条理,二是不好维护,三时安全性比较低,耦合性太高。这样做小的系统其实没多大问题。如果系统比较大,比较复杂,那通常他会遇到无数问题。这样,为了解决这些问题,我们通常整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。区分层次的目的即为了“高内聚,低耦合”的思想。
我们先看看这几个层的主要作用:
1、表现层(UI):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得。
2、业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。
3、数据访问层(DAL):该层所做事务直接操作数据库,针对数据的增添、删除、修改、查找等。

另外有些人还分不清三层和mvc的区别:我在百度上找到了比较好的解释:
MVC(模型Model-视图View-控制器Controller)是一种设计模式,我们可以用它来创建在域对象和UI表示层对象之间的区分。
同样是架构级别的,相同的地方在于他们都有一个表现层,但是他们不同的地方在于其他的两个层。
在三层架构中没有定义Controller的概念。这是我认为最不同的地方。而MVC也没有把业务的逻辑访问看成两个层,这是采用三层架构或MVC搭建程序最主要的区别。当然了。在三层中也提到了Model,但是三层架构中Model的概念与MVC中Model的概念是不一样的,“三层”中典型的Model层是以实体类构成的,而MVC里,则是由业务逻辑与访问数据组成的。


其实,对于三层架构,我们必须掌握,至于什么时候用,优缺点,希望大家能自己多了解一下。都会有体会的,例如三层架构会增加预算啊,在需要更改或增加功能时要按照级别来分别添加,会有些麻烦!

作者: 许庭洲    时间: 2013-4-22 20:54
值得学习ing1
作者: 刘欢    时间: 2013-4-23 10:02
收藏,下来慢慢品味
作者: 淋雨一直走    时间: 2016-7-19 15:18
一直搞不懂它俩啥关系,现在终于分清楚了,谢谢




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2