Для универсального задания я пишу Java-программу, которая должна сохранять и загружать иерархию объектов в XML-файлы.Например, программа создает класс Zoo со списком подклассов Animals, сохраняет его в XML и загружается снова при следующем запуске программы пользователем.
Файл может выглядеть как
<Zoo>
<Animals>
<Lion>
<name>Leo</name>
<age>5</age>
<roar>fearsome</roar>
</Lion>
<Elephant>
<name>Dumbo</name>
<age>10</age>
<ears>let him fly</ears>
</Elephant>
</Animals>
</Zoo>
Существует небольшое конечное количество подклассов Animal, которое мне нужно поддерживать (~ 5).Каждый подкласс животного имеет индивидуальные атрибуты (например, уши и рев).Я запутался в том, что лучший шаблон проектирования для создания объектов и создания файлов.
В настоящее время у меня есть класс XMLCreator
с такими методами, как void createZooElement(Zoo)
, void createLionElement(Lion)
и т. Д. И т. Д.,и класс XMLReader с private Zoo createZoo(File)
, private Lion createLionObject(Element)
.
Является ли это хорошим способом, если вы ожидаете, что этот код будет поддерживаться другими в будущем?Или каждый объект должен иметь метод конструктора, который принимает File / Element в качестве параметра, и другой метод, который возвращает File / XMLElement?Каким способом достигается наибольшая инкапсуляция / ремонтопригодность?