我正在尋找設計模式以從模板對象生成對象。在我的遊戲中,我有不同類型的項目將從模板對象中生成。EJB 3.1用於從模板生成對象的模式
目前我解決它通過繼承,每個模板實體實現的方法:
public Item generate(EntityManager em);
我的繼承結構是:
ItemTemplate -> creates an Item
|_ ArmorTemplate -> creates and Armor
|_ WeaponTemplate -> creates an Weapon
|_ ....and more ....
當我創建一個項目我通過實體管理模板我得到一個持久的對象。 例如一個護甲模板返回一個持續的護甲,等等。
如果項目生成需要任何特定的實體,我必須在生成方法內進行查找。我想用一個基於容器的解決方案來解決這個問題,我可以注入我需要的EJB,而不必通過創建工作流程來傳遞我的實體管理器。
從休眠我得到一個模板對象列表,我不想做一個instanceof調用正確的工廠方法。
我目前的解決方案有效,但感覺不是很優雅。任何輸入都可以。 ;-)
在此先感謝。 問候,男
您目前的工廠模式與工廠模式有何不同? –
那麼這是一個工廠模式,其中每個模板知道它必須返回哪個對象以及如何。但是,如果POJO風格可以用ejb解決方案替代以獲得依賴注入的好處等等,我就會更加靈活。 – mkuff
這是什麼意思:「從休眠我得到一個模板對象列表,我不想做一個instanceof調用正確的工廠方法。」如果模板對象只是工廠,我只需將它們作爲單例服務連接到實體管理器的引用。 – tkr