2014-06-06 71 views
3

我在寫一個適合第三方框架的組件。該組件將訂單導出爲特定的文件格式,隨時可以傳輸到單獨的後端系統。將字段從一個對象映射到另一個對象的設計模式

後臺系統對數據有着非常不同的看法,對框架沒有的字段長度和格式有特殊的限制。因此,我需要能夠:

1. Store/know about these rules 
2. Take the data from the framework 
3. Transform based on the data received and the rules i mentioned in point 1 
4. Write the transformed data to file 

是否存在此類功能的任何設計模式。特別是,在把映射規則:

- xml config 
- directly in a class 
- something else? 
+0

看看http://dozer.sourceforge.net/ –

回答

1

Adapter用來調整從一個界面到另一個。

不同的方法來完成,但你可以簡單地在一個適配器類上實現兩個接口。和/或使適配器由另一個或多個類的實例組成。

+0

也可以看一下Mediator模式,它可以用來在兩個方向上進行映射。 – aRestless

+0

@aRestless即改變行爲,不認爲它在這裏需要 – NimChimpsky

+0

你是對的。考慮到它是錯誤的,並認爲它是數據映射器或雙向適配器的泛化。 – aRestless

0

適配器模式(更具體地說是對象適配器模式)包含它所包裝的類的一個實例。在這種情況下,適配器會調用包裝對象的實例。該模式本身允許從另一個接口使用現有類的接口。希望這可以幫助!

0

如果您在xml中獲取數據,並且xml格式正確並且有效,那麼您可以使用Oracles JAXB api直接編組/解組xml文件。更多關於這方面的信息請見here

相關問題