JavaEE 三层架构

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_40244153/article/details/82426018

概念

三层架构(3-tier architecture) 通常意义上的三层架构就是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。区分层次的目的即为了“高内聚,低耦合”的思想。

表现层(user interface layer):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得。主要对用户的请求接受,以及数据的返回,为客户端提供应用程序的访问。

业务逻辑层(business logic layer):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。

数据访问层(data access layer):该层直接操作数据库,针对数据的增添、删除、修改、查找等。

在Java web 项目中:

dao层:数据访问层,操作数据库,对数据进行增删改查
service层:业务逻辑层,对数据进行处理
web层:表示层,给页面传递数据

优缺点

优点

       1、开发人员可以只关注整个结构中的其中某一层;
  2、可以很容易的用新的实现来替换原有层次的实现;
  3、可以降低层与层之间的依赖;
  4、有利于标准化;
  5、利于各层逻辑的复用。
  6、结构更加的明确
  7、在后期维护的时候,极大地降低了维护成本和维护时间

缺点

      1、降低了系统的性能。这是不言而喻的。如果不采用分层式结构,很多业务可以直接造访数据库,以此获取相应的数据,如今却必须通过中间层来完成。
  2、有时会导致级联的修改。这种修改尤其体现在自上而下的方向。如果在表示层中需要增加一个功能,为保证其设计符合分层式结构,可能需要在相应的业务逻辑层和数据访问层中都增加相应的代码。
       3、增加了开发成本。

与MVC的区别

MVC(模型Model-视图View-控制器Controller)是一种架构模式,可以用它来创建在域对象和UI表示层对象之间的区分。

同样是架构级别的,相同的地方在于他们都有一个表现层,但是他们不同的地方在于其他的两个层。

在三层架构中没有定义Controller的概念。这是最不同的地方。而MVC也没有把业务的逻辑访问看成两个层,这是采用三层架构或MVC搭建程序最主要的区别。当然了。在三层中也提到了Model,但是三层架构中Model的概念与MVC中Model的概念是不一样的,“三层”中典型的Model层是由业务逻辑与访问数据组成的。而MVC里,则是以实体类构成的。

猜你喜欢

转载自blog.csdn.net/weixin_40244153/article/details/82426018