1、表现层组件:主要负责收集用户输入数据,或者向客户显示系统状态。常用的表现层技术有JSP、Velocity、FreeMaker和Tapestry等,或者使用普通的应用程序充当表现层组件,甚至可以是小型只能设备。
2、控制器组件:对于Java EE的MVC框架,框架提供一个前端核心控制器,而核心控制器负责拦截用户请求,并将请求转发给用户实现的控制器组件。而这些用户实现的控制器负责处理调用业务逻辑方法,处理用户请求。
3、业务逻辑组件:是系统的核心组件,实现系统的业务逻辑。通常,一个业务逻辑方法对应一次用户操作。一个业务逻辑方法应该是一个整体。因此对业务逻辑方法增加事务性。业务逻辑方法仅仅负责业务逻辑,不应该进行数据库访问。因此,不应该出现原始的Hibernate、JDBC等API。
4、DAO组件:Data Access Object,也被称为数据访问对象。这个类型的对象比较缺乏变化,每个DAO组件都提供Domain Object对象基本的创建、查询、更新和删除等操作,这些操作对应于数据表的CRUD等操作。
5、领域对象组件:领域对象(Domain Object)抽象了系统的对象模型。通常,它们的状态都必须保存在数据库里。因此,每个领域对象通常对应于一个或多个数据表,领域对象通常需要提供对数据记录访问方式。