Java EE应用概述



一、Java EE应用的分层模型


1、Domain Object(领域对象)层:
此层由一系列的POJO(Plain Old Java Object,普通的、传统的Java对象)组成,
这些对象是该系统的Domain Object(领域对象),
往往包含了各自所需实现的业务逻辑方法。
2、DAO(Data Access Object,数据访问对象)层:
此层由一系列的DA0组件组成,
这些DAO实现了对数据库的创建、查询、更新和删除(CRUD)等原子操作。
DAO层在MyBatis中也被称为Mapper层,其通过SQL语句的映射完成CEUD操作。
3、Service(业务逻辑)层:
此层由一系列的业务逻辑对象组成,
这些业务逻辑对象实现了系统所需的业务逻辑方法。
这些业务逻辑方法可能仅仅用于暴露Domain Object对象所实现的业务逻辑方法,
也可能是依赖DAO组件实现的业务逻辑方法。
4、Controller(控制)层:
此层由一系列控制器组成,
这些控制器用于拦截用户请求,
并调用业务逻辑组件的业务逻辑方法,
处理用户请求,
并根据处理结果向不同的表现层组件转发。
5、View(表现)层:
此层由一系列的JSP页面、Velocity页面、PDF文档视图组件组成,
负责收集用户请求,并显示处理结果。




二、Java EE应用的组件


1、表现层组件:
主要负责收集用户输入数据,
或者向用户显示系统状态。
最常用的表现层技术是JSP,
但是JSP并不是唯一的表现层技术。
表现层还可由Velocity、FreeMarker和Tapestry等技术完成,
或者使用普通的应用程序充当表现层组件,
甚至可以是小型智能设备。
2、控制层组件:
对于Java EE的MVC框架,
其提供一个前端核心控制器,
核心控制器负责拦截用户请求,
并将请求转发给用户实现的控制器组件。
这些用户实现的控制器组件则负责调用业务逻辑方法,
处理用户请求。
3、业务逻辑组件:
这是系统的核心组件,
实现系统的业务逻辑。
通常,
一个业务逻辑方法对应一次用户操作。
一个业务逻辑方法应该是一个整体,
因此要求对业务逻辑方法增加事务性。
业务逻辑方法仅仅负责实现业务逻辑,
不应该进行数据库访问。
因此,
业务逻辑组件中不应该出现原始的MyBatis、Hibernate和JDBC等API。
4、DAO组件:
这个类型的对象比较缺乏变化,
每个DAO组件都提供Domain Object对象基本的创建、查询、更新和删除等操作,
这些操作对应于数据的CRUD(创建、查询更新和删除)等原子操作。
当然,
如果采用不同的持久层访问技术,
DAO组件的实现会完全不同。
为了业务逻辑组件的实现与DAO组件的实现分离,
程序应该为每个DAO组件都提供接口,
业务逻辑组件面向DAO接口编程,
这样才能提供更好的解耦。
5、领域对象组件:
领域对象(Domain Object)抽象了系统的对象模型。
通常而言,
这些领域对象的状态都必须保存在数据库里。
因此,
每个领域对象通常对应一个或多个数据表,
领域对象通常需要提供对数据记录的访问方法。






猜你喜欢

转载自blog.csdn.net/yjlch1016/article/details/79352356
今日推荐