我目前正在將大型古老的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未序列化時重新注入依賴關係。任何人都可以向我提供解決這一難題的任何見解嗎?必須有某種模式/實踐來解決我可能只是失蹤的問題。