我想創建一個類,它可以加載並保存到XML文件中。我想使用一個正在執行加載任務的類,並且我想將它與要保存和加載的實際類整合,一切似乎都可行,直到JAVA不允許類實例成爲從內部變化,即沒有:如何實現一個xml可保存/可加載的類?
this = JAXBLoader.load();
所以目前這就是我面臨的問題。
我希望能夠通過類本身的公共方法控制加載並保存它,這樣從外部我不需要任何工廠或管理器來加載它。目前我看到的唯一解決方案是,如果我將我想要保存爲xml的類擴展,然後將所有方法委託給實際類的實例,然後在從文件加載新實例時,實例會被取代。但是如果你需要向班級添加新的方法並且有多種實施方式,那麼必須委託所有的方法,特別是在屁股上的一些開銷......
所以有沒有什麼好的做法或模式在實現類似的東西或解決我上面演示的問題?其實我是開放的,如果有人能夠全面分享什麼是最好的方式來做課堂保存和加載我真的很高興的最簡單的方法。
爲什麼你想避免「工廠或經理」? – lexicore
@lexicore嗯,在某些情況下,我想我想要避免對工廠或其他經理等其他類的額外依賴,並允許經常在類上完成保存,就像在每次操作或類似案例之後一樣。如果你有意見,我會很感激。雖然我知道有時候設計可以有不同的做法,但我想在某些情況下最好這樣做。 –
如果您使用某些編組/解組框架,則隱藏對您的類的訪問權限,您不會避免依賴關係。你仍然有依賴關係,它們只是隱含的,甚至更糟。將解組/編組代碼放入類本身是可能的,然後將其自包含。但這將是一團糟。 JAXB 1做到了這一點,並且*是一團糟。即使你做了XML,那麼你也許需要JSON,PBF等。 – lexicore