java五层架构_Web五层架构
这篇⽂章其实是去年我给别⼈讲Web分层结构时做的⼀个ppt,只是个⼈的观点和想法。
1.Model1和Model2
⾸先,Model1是指JSP+JavaBean。Model1⽐较适合于⼀些较⼩项⽬,但是,对于现在的情况⽽⾔,Model1已经被弃⽤了。结构如下:
⾄于Model2是指JSP+Servlet+JavaBean。Model2 出现以后,⼈们于实际应⽤过程中发现,其中的 jsp 关注的是页⾯显⽰, Servlet关注的是流程控制, ⽽ JavaBean 关注的是业务处理。这与传统的 MVC ⾮常类似, 传统的 MVC包括了三个⽅⾯的内容,模型,视图,控制器。因此,⼈们开始认为, Model2 是基于 MVC (下⾯也会讲的MVC模型)的。Model2结构如下:
2.传统MVC
传统的MVC包括三个⽅⾯:模型、视图、控制器。模型,关注数据处理;视图,关注数据显⽰和报表处理;控制器,负责协调模型和视图。然后我们看下传统MVC模型:
乍⼀看Model2和MVC是⼀样的,但⼆者的数据传输的本质是存在区别的,从⼆者结构图可见⼀斑。
3.三层架构
javabean是干嘛的微软推荐的分层架构⼀般为三层:表⽰层、业务逻辑层(或领域层)、数据访问层。
表现层(UI):通俗讲就是展现给⽤户的界⾯,即⽤户在使⽤⼀个系统的时候他的所见所得;
业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理;
数据访问层(DAL):该层所做事务直接操作数据库,针对数据的增添、删除、修改、查等。
其结构如下:
三层架构与MVC的区别:在三层架构中没有定义Controller的概念。这是最不同的地⽅。⽽MVC也没有把业务的逻辑访问看成两个层,这
是采⽤三层架构或MVC搭建程序最主要的区别。
4.四层架构
随着需求的不但增加,三层架构也已经难以担当⼤任。于是,有⼈提出四层分层架构。其中,四层架构有两种形式。第⼀种形式是:
该架构⽐三层架构只多了⼀个系统服务层,⽽该层正是供系统各层访问的服务型代码。
在第⼆种形式中保存了控制层,即web层,如:
5.五层架构
对于现今⽇益庞⼤的系统⽽⾔,以上的架构实现起来略显吃⼒,所以个⼈觉得Web应⽤应该采⽤五层架构。五层架构包括:⽤户界⾯层、控制层、业务逻辑层、数据持久层、系统服务层。其实,准确地说,我觉得⽤五层结构描述的更清晰⼀些,因为本质上并没有⽐上述结构有多么⼤的差别,只是把别⼈提到的分层结构给进⼀步划分了⼀下⽽已。其中每⼀层的职责如下:
⽤户界⾯层:即⽹页,⽤户能实实在在看得到的,能进⾏操作的界⾯;
控制层:控制⽤户界⾯层和业务逻辑层进⾏数据交互,对于Struts2⽽⾔就是Action;
业务逻辑层:针对具体问题的操作,对业务逻辑的处理;
数据持久层:控制事务,直接操作数据库,对数据进⾏CRUD操作(即数据的增、删、改、查),即Hibernate或MyBatis负责与数据库的通信;
系统服务层:即提供公共的服务性功能,供各个操作层使⽤。 其结构如图:
虽然说现在有很多Web框架,但是只不过是以前我们做的⼯作进⾏了更好的封装。就像《轻量级JavaEE企业应⽤实战》中Spring那部分中,作者说的那样,Spring是把之前的程序员写的⼯⼚⽅法做了扩展、改进,从⽽进⾏了封装,并且使之更加灵活,易⽤。同时,从这些框架中,我们也可以看出Web开发中的层次结构。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论