Трябва ли да разделя моя XStream конвертор на клас?

Работя върху програма, която използва XStream за запис в XML. В настоящия момент имам само един клас, който реализира Converter. Този единствен конвертор приема ЦЯЛАТА ми конфигурация, която е HashMap в основата си и стойността на всеки ключ е нов екземпляр на VMwareServer клас, който от своя страна има HashMap, където стойността на ключа е нов екземпляр на VMwareVirtualMachine клас. Всеки от съответните класове има методи за настройка и получаване на неща като IP address и port number.

Това, което се чудя е дали това е правилният начин за внедряване на XStream конвертора, или трябва да създам отделен конвертор, за да преобразувам всеки клас в XML самостоятелно?

Мога да покажа някакъв код, ако все още има въпроси относно това, което имам предвид.


person ianc1215    schedule 09.04.2013    source източник
comment
Какво правиш в конвертора? Xstream може да маршалира дълбоко всеки обект без конвертор.   -  person Bhushan Bhangale    schedule 09.04.2013
comment
Основно използвам конвертора, за да преформатирам изхода в малко по-красива форма. Причината, поради която използвам конвертора, е, че някои обекти от java се местят, за да се организират нещата.   -  person ianc1215    schedule 09.04.2013
comment
Трябва да имате конвертор за клас.   -  person Bhushan Bhangale    schedule 09.04.2013


Отговори (1)


Това е донякъде спорно, но бих казал да има отделен конвертор за всеки клас. Това има няколко предимства: ако по-късно трябва да върнете подмножество от вашия пълен изглед, ще можете лесно да разложите структурата по линии, базирани на клас (може би, например, за да ограничите информацията чрез разрешения). Ако трябва да върнете малко по-различни представяния в различни контексти, можете да го направите на базата на клас по клас, вместо да дублирате цялата логика на представяне във вашия монолитен клас.

person asthasr    schedule 09.04.2013
comment
Да, вижте, това нещо си мислех. Има някои случаи, в които в зависимост от определени стойности не накрая генерирам определени части от XML файла. - person ianc1215; 09.04.2013