C ++ модель цели / наблюдателя / просмотр вопросов - PullRequest
0 голосов
/ 09 июля 2020

У меня есть некоторые иерархические xml -подобные данные. Для простоты скажем, что его сельскохозяйственное животное связано и выглядит так:

<Barn currentStable = 1>
  <Stable number=1>
    <Animal name="Mark">
  </Stable>
  <Stable stallNumber=2>
    <Animal name="Paul">
  </Stable>
</Barn>

У меня есть классы моделей, которые инкапсулируют данные. Класс Barn отслеживает текущую конюшню и ведет список всех объектов конюшни. Класс Stable знает номер своей конюшни и имеет ссылку на свое животное. Животное знает свое имя. Все эти классы используют сеттеры / геттеры, которые запускают события, которые мои объекты представления используют для обновления. Это прекрасно работает.

Представления имеют ссылки на различные объекты модели и передают модели своим конструкторам

Они могут обновлять свойства модели с помощью методов set / getters et c. Это прекрасно работает.

Моя проблема в том, что я не уверен, как справиться с тем, что происходит при изменении текущей стабильной версии. Когда текущая стабильная версия изменяется, представления должны получать данные новой модели, поскольку в настоящее время они отображают старую стабильную. Как лучше всего сообщить об этом go? Я подумал о том, чтобы иметь событие класса Barn, когда происходит currentStableChanges, и когда это происходит, мой BarnView просто как бы связывает метод setModel () через все представления. Но мне было интересно, есть ли другой более правильный способ делать что-то, возможно, с точки зрения модели.

В настоящее время у меня есть только мои модели и представления. Похоже, мне может потребоваться реализовать какой-либо объект контроллера или модели представления для обработки таких вещей. Любые идеи были бы отличными

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...