Как мне хранить метаданные в объекте?
В моем Java-приложении я храню некоторые данные в нескольких файлах в собственном формате. Во время выполнения содержимое и некоторые метаданные хранятся в объекте. В моем текущем подходе класс выглядит так:
Другой подход заключается в инкапсуляции метаданных и контента в их собственные объекты:
Каковы преимущества / недостатки этих подходов? Какой из них вы бы мне предложили использовать?
Спасибо!
редактировать
Метаданные и контент хранятся в разных файлах, которые я загружаю лениво. Таким образом, метаданные или содержимое объекта недоступны, если они не запрошены. В объекте нет особого поведения. Просто получатель и установщик.
1 ответ
Трудно сказать без конкретного примера.
В любом случае, вы должны стараться не нарушать принцип единой ответственности, поэтому, вероятно, лучше всего разделить этот класс на два.
Принцип единой ответственности говорит о том, что должна быть только одна причина для изменения.
Тем не менее, я бы сказал, что метаданные на самом деле не объект, а просто структура данных. Есть ли у него поведение?
Приведите пример из реальной жизни, чтобы мы могли более точно ответить на ваш вопрос.