Мне нужен совет относительно MVC и Observer-Pattern.
Например, модель содержит классы «Адрес» и «Персона». Класс Address содержит поля street: String, почтовый индекс: String, location: String. В то время как класс Person содержит поля name: String, firstName: String, address: Address.
Мой подход пока выглядит примерно так:
И Адрес, и Персона наблюдаемы. Если вызывается один из их установщиков, я проверяю, отличаются ли текущее значение и новое значение. Только в этом случае происходит событие обновления. Событие содержит источник, имя измененного поля, старое и новое значение.
Класс для представления содержит текстовые поля для отображения и редактирования информации о человеке: имя, имя, улица, почтовый индекс, местоположение. Он знает модель Person и является подписанным наблюдателем для этого человека. Таким образом, он получает события обновления от объекта person.
Мои вопросы касаются поля адреса из типа Address в классе person, поскольку адрес сам по себе можно наблюдать.
Если представление получает событие обновления от лица, когда был установлен новый адрес, я могу обновить все поля, связанные с адресом в представлении.
Но что, если поле адреса изменится? Должно ли представление также регистрироваться для обновления событий с адреса?
Будем благодарны за любые намеки на общие подходы к проектированию.
Привет.