[Извините, но работа проприетарна, поэтому я не могу сообщить подробности об объектах]
Я работаю над приложением Java с коллегой. Я делаю на стороне клиента, а он пишет код сервера.
Приложение отображает таблицу из X объектов. Столбцы таблицы показывают некоторые атрибуты X. Кроме того, у нас есть столбец, в котором показано количество Y для каждого X. (Ассоциация много-к-одному Y-X, и в одном случае Y имеет ссылку на своего родительского X).
Количество Y не является атрибутом X, но получается посредством запроса к БД.
Я использую TableModel, поэтому было бы легче использовать X-объекты в качестве модели для таблицы. Но так как счетчик Y не является атрибутом X, мне нужно будет создать контейнерный объект для хранения X плюс счетчик. Это довольно раздражает, так как добавляет класс, который кажется ненужным.
Я предложил своему коллеге добавить дополнительное поле к X плюс геттер:
private void Информация о карте = new HashMap ();
Это сделает объекты модели X более гибкими. Я могу хранить любое нужное мне состояние в любое время на клиенте, не затрагивая основные атрибуты модели, специфичные для природы X. Ключи будут определены только в клиенте, поэтому модель не будет загрязнена.
Он отказался, потому что считает, что объекты модели должны моделировать только домен, а дополнительное поле не связано с объектами домена и поэтому не должно добавляться. Он считает, что клиент должен справиться с этим.
Кажется, обе точки зрения имеют свои достоинства, поэтому мне было бы интересно узнать, что другие читатели думают / чувствуют по этому поводу.
Спасибо
Тим