我正在寻找Java类设计的最佳策略。我使用的是JSF 2.1,基本上我有一个类,它下订单并从web服务检索。
- 我想提交事务或回滚,如果有一个错误使用这门课。
就类设计而言,我可以采取什么方法来解决这个问题?我需要使用嵌套类设计吗?我至少有15个方法必须协同工作,以确保即使一个方法失败,事务也能回滚。
JSF是一种视图技术。如果你做得对,它根本不应该涉及到交易。
JSF视图应该与控制器对话。控制器应该有对服务的引用,服务是了解工作单元和事务的对象。服务编排模型对象、持久性对象和其他服务来完成用例。
获取数据库连接、提交或回滚事务的逻辑属于服务。
如果您正在使用面向方面的编程,这很容易做到。(Spring就是这么做的)
view--->controller--->service--+--->persistence
|
+--->model
这叫做分层设计。依赖项应该跟随着我画的箭头。模型和持久性不知道服务、控制器或视图。