J2EE核心模式再分类

        J2EE核心模式提到了21个模式。如果采用Struts、Spring、Hibernate或EJB 3.0的容器,其中的一些模式已经由框架提供。
本文小鸡射手将其再分类如下:
了解:表示该模式已经由相关框架实现,或者由相关框架提供的功能替代;
不建议:表示不建议使用该模式;
一般:表示一般应用可能不使用该模式;
重要:表示大多数应用均需要使用该模式。
 
模式名
分类
说明
表现层
Intercepting Filter
一般
建议总是使用标准过滤器策略。
Front Controller
了解
Struts的ActionServlet已经实现了该模式。
Context Object
了解
Struts的ActionForm和DynaActionForm类已经实现该模式。
Application Controller
了解
Struts的RequestProcessor类已经实现了该模式。
View Helper
重要
建议总是采用基于模版的策略,不使用基于控制器的策略。建议采用JavaBean或标签文件策略,不使用定制标签策略。
Compositive View
重要
建议采用第三方标签的策略,如Tile;简单情况也可以使用<jsp:include>。
Service to Wroker
了解
指的就是Front Controller、Applicaton Controller 和ViewHelper的综合。
Dispatch View
不建议
仅在不需要或者很少业务逻辑的情况下使用。
业务层
Business Delegate
了解
采用Spring Ioc容器的依赖注入可以替代该模式。
Service Locator
了解
采用Spring 2.0的<jee:jndi-lookup>可以替代该模式。
Session Façade
重要
建议在轻量级框架中定义业务接口并采用POJO实现,在EJB 3.0容器中采用Stateless Session Bean实现。
Application Service
一般
一般的建议在Session Façade中实现业务逻辑。但是如果除了Stateless Session Bean还需要提供对应的Web Service接口,可以提供Application Service层实现业务逻辑;而Session Façade和Web Service仅提供接口。
Business Object
最重要
建议在轻量级框架中使用Hibernate实现,在EJB 3.0容器中使用Entity实体实现。不建议使用Entity Bean。
Composite Entity
不建议
不建议使用Entity Bean。
Transfer Object
不建议
不建议使用远程接口,层间也就不需要Transfer Object。如果需要群集,建议采用并排结构代替分布式结构。
Transfer Object Assembler
不建议
不建议使用Entity Bean及远程接口。
Value List Handler
不建议
建议采用Hibernate或JPA的query实现。
集成层
Data Access Object
重要
建议在轻量级框架中定义数据访问接口并采用POJO通过Hibernate native API或JPA实现,在EJB 3.0容器中采用Stateless Session Bean通过JPA实现。采用Spring Ioc的依赖注入,因此不需要DAO工厂策略。
Service Activator
一般
建议采用Spring 2.0的<jee:jndi-lookup>来依赖注入ConnectionFactory和Destination,并使用JMS 1.1统一的API处理Publish-Subscribe和Point-to-Point模式;也可以考虑采用Spring的JmsTempleate类。Message Driven Bean建议采用EJB 3.0的规范实现。
Domain Store
了解
Hibernate native API或JPA已经实现该模式。
Web Service Broker
了解
EJB 3.0规范中可以将Stateless Session Bean实现为Web Service。也可以采用Servlet实现Web Service(如XFire)。
 
        小鸡射手认为最重要的Business Object,请参考 类图和ORM关系一文。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值