我目前正在将大型古老的Oracle Forms应用程序移植到JSF &我需要对领域模型做出决定。Java/JSF/Spring/WebFlow DDD体系结构设计问题
我被锁定在使用Spring JDBC模板(无ORM),并利用DAO层来处理令人困惑的遗留数据库模式,这一模式一定是第一年合作社设计的。对于领域模型,我真的想把事情做得很高OO,例如:假设有一个域对象计划。目标将太OO-如果它能够执行PlanInstance.load(byId(“12345”)),PlanInstance.save(),.delete(),.create()等等。但是随后出现这种情况;因为这些域对象包含对有状态bean的引用(比如Repositories),所以它们不能被序列化。如何克服这一点?
最初我开始分裂的东西,如:PlanData(Stateless,Singleton)使用的PlanData(Statefull,SessionScoped)。通过这种方式,公共控制器代码被提取并且被阻止在每个会话作用域bean中被复制,并且最重要的是允许会话作用域bean被序列化。在这一点上,我真的需要构造它OO风格以最大限度地减少复杂性,但是我只是不知道如何在会话范围中引用状态对象(由于序列化错误)时如何获得对象。
我能想到的唯一可能性是使状态引用暂态&设计了某种机制,以便在bean未序列化时重新注入依赖关系。任何人都可以向我提供解决这一难题的任何见解吗?必须有某种模式/实践来解决我可能只是失踪的问题。