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