Мне нужно сохранить объекты, и я хочу, чтобы мои классы данных были максимально чистыми. Сохраненные классы не содержат кода бизнес-логики, а только данные с геттерами/сеттерами.Каков наилучший шаблон для сохранения объектов?
В настоящее время я реализую решение с шаблоном Observer. Каждый раз, когда объект Observable сохраняется, он вызывает сообщение объекту Observer, который заботится о сохранении. Таким образом, единственным ограничением для сохраняемого объекта должно быть «Наблюдаемое». Это держит вещи в чистоте.
Другим решением (возможно, лучше?) Было бы реализовать некоторый шаблон DAO, и я не очень хорошо знаю, как он работает. Возможно, это будет выглядеть как persistedObject.save();
или persistedObject.readById(id);
. Но это означает, что я должен был бы определить некоторый интерфейс DAO, а затем реализовать метод read/create/update/delete в каждом сохраняемом классе.
Просьба уточнить вопрос.Вы можете сохранить текстовый файл, базу данных, облако промышленной силы ... если вы не дадите больше информации о ваших потребностях, в целом нет «наилучшего сохранения». Что тебе нужно сделать?. – tucuxi
В настоящее время я намерен сохранить объекты в файлах, используя сериализацию XML. Но в будущем я также могу использовать хранилище баз данных. Вот почему мне нужно использовать некоторый шаблон связи CRUD, позволяющий реализовать различный средний доступ к хранилищу (хранилище файлов, хранилище db и т. Д.) –
Если вы планируете использовать сериализацию XML, я бы предложил JAXB – Gab