JavaEE软件开发体系架构
2017-08-18 10:17
267 查看
两层架构
传统的客户服务器系统仅只简单地基于两层体系来构建,即客户端(前台)和企业信息系统(后台),没有任何中间件,业务逻辑层与表示层或数据层混在一起。这种两层架构无论从开发、部署、扩展、维护来说,综其只有一个特点——成本高。三层架构
三层架构自上而下将系统分为表示层、逻辑层、持久层。表示层由处理用户交互的客户端组件及其容器所组成;
业务逻辑层由解决业务问题的组件组成;
数据层由一个或多个数据库组成,并可包含存储过程。
这种三层架构,在处理客户端的请求时,使客户端不用进行复杂的数据库处理;透明地为客户端执行许多工作,如查询数据库、执行业务规则和连接现有的应用程序;并且能够帮助开发人员创建适用于企业的大型分布式应用程序。
![](http://ou3xxg3hg.bkt.clouddn.com/三层.jpg)
MVC
在MVC模式中,应用程序被划分为模型层(Model)、视图层(View)、控制层(Controller)三部分。MVC模型就是把一个应用程序的开发按照业务逻辑、数据、视图进行分离分层并组织代码。MVC要求把应用的模型按一定的层次规则抽取出来,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。模型层负责封装应用的状态,并实现功能,视图层负责将内容呈现给用户,控制层负责控制视图层发送的请求以及程序的流程。Servlet+JSP+JavaBean(MVC)这种模式比较适合开发复杂的web应用,在这种模式下,Servlet负责处理用户请求,JSP负责数据显示,JavaBean负责封装数据。
![](http://ou3xxg3hg.bkt.clouddn.com/mvc.jpg)
基于JavaEE架构模式下的MVC
在这种架构模式下,模型层(Model)定义了数据模型和业务逻辑。为了将数据访问与业务逻辑分离,降低代码之间的耦合,提高业务精度,模型层又具体划分为了DAO层和业务层,DAO即Data Access Object,其主要职能是将访问数据库的代码封装起来,让这些代码不会在其它层出现或者暴露出来给其它层;业务层是整个系统最核心也是最具有价值的一层,该层封装应用程序的业务逻辑,处理数据,关注客户需求,在业务处理过程中会访问原始数据或产生新数据,DAO层提供的DAO类能很好地帮助业务层完成数据处理,业务层本身侧重于对客户需求的理解和业务规则的适应,总体说来,DAO层不处理业务逻辑,只为业务层提供辅助,完成获取原始数据或持久层数据等操作。![](http://ou3xxg3hg.bkt.clouddn.com/javaEEmvc.png)
JSP:JSP被用来产生Web的动态内容。这层把应用数据以网页的形式呈现给浏览器,然后数据按照在JSP中开发的预定的方式表示出来,这层也可以称之为布局层。
Servlet:JSP建立在Servlet之上,Servlet是J2EE的重要组成部分。Servlet负责处理用户请求,Java Web项目的所有配置都写在了web.xml配置文件里,当项目运行的时候,web.xml会将http请求映射给对应的Servlet类。
JavaBean:由一些具有私有属性的Java类组成,对外提供get和set方法。JavaBean负责数据,负责处理视图层和业务逻辑之间的通信。
Service:业务处理类,对数据进行一些预处理。
DAO:数据访问层,JDBC调用存储过程,从数据库(DataBase)那里获取到数据,再封装到Model实体类中去。
相关文章推荐
- JavaEE软件开发体系架构
- Windows 8 的软件开发架构
- 匠心软件谈APP软件开发中架构优化的重要性
- 软件开发过程中的三层架构的深入解析和搭建(一)
- 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET - ORM体系的改进与ORM的新成员
- 大型软件开发过程的质量管理体系
- 软件开发大师谈企业应用架构模式
- 『phphot』【SD2.0大会】现代软件开发之父Ivar 解读语言与架构
- 软件系统体系架构
- 图像识别DM8127开发攻略 ——RDK软件架构浅析及编译
- 电子政务互联互通软件平台的体系架构
- .net框架程序设计读书笔记二(Microsoft .net 框架开发平台体系架构)
- Android 开发软件架构思考以及经验总结
- 每一位Android开发者应该知道的Android体系架构和开发库
- 软件体系架构中的三层结构
- 『架构』再谈心目中的 软件开发
- 软件开发架构、网络基础知识、osi七层模型
- JAVAEE之Spring学习(五)---目前开发所用的springMVC的架构思想
- Eclipse/TomCat上的J2EE应用开发软件架构4
- 【SD2.0大会】现代软件开发之父Ivar 解读语言与架构