-
表现层组件
主要负责收集用户输入数据,或者向客户显示系统状态。最常用的表现层技术是 JSP,但 JSP 并不是唯一的表现层计数。表现层还可由 Velocity、FreeMarker 和 Tapestry 等技术完成,或者使用普通的应用程序充当表现层组件,甚至可以是小型智能设备。
-
控制器组件
对于 Java EE 的 MVC 框架,其提供一个前端技术核心控制器,核心控制器负责拦截用户请求,并将请求转发给普通用户实现的控制器组件。这些用户实现的控制器组件负责调用业务逻辑方法,处理用户请求。
-
业务逻辑组件
这是系统的核心组件,实现系统的业务逻辑。通常,一个业务逻辑方法对应一次用户操作。一个业务逻辑方法应该是一个整体,因此要求对业务逻辑方法增加事务性。业务逻辑方法仅仅负责实现业务逻辑,不应该进行数据库访问。因此,业务逻辑组件中不应该出现原始的 MyBatis、Hibernat 和 JDBC 等 API。
保证业务逻辑组件中不出现 MyBatis、Hibernate 和 JDB 等 API,有一个更重要的原因:为保证业务逻辑方法的实现,与具体的持久层访问技术分离。当系统需要在不同的持久层技术之间切换时,系统的业务逻辑组件无需任何改变。
-
DAO 组件
这个类型的对象比较缺乏变化,每个 DAO 组件都提供 Domain Object 对象基本的创建、查询、更新和删除等操作,这些操作对应数据库的 CRUD 等原子操作。当然,如果采用不同的持久层访问技术,DAO 组件的实现会完全不同。为了业务逻辑组件的实现与 DAO 组件的实现分离,程序应该为每个 DAO 组件都提供接口,业务逻辑组件面向 DAO 接口编程,这样才能提供更好的解耦。
-
领域对象组件
领域对象 (Domain Object) 抽象了系统的对象模型。通常而言,这行领域对象的状态都必须保存在数据库里。因此,每个领域对象通常对应额一个或多个数据表,领域对象通常需要提供对数据记录的访问方式。
Java EE 应用的组件
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 前言: 本文转自前同事casa的博文,这篇文章是基于runtime实现的iOS组件化方案,其实iOS组件化方案基本...