Как просмотреть обновления модели? - PullRequest
0 голосов
/ 14 января 2020

После этой статьи There are two schools of thought with regard to whether the View interacts directly with the Model or not.

Меня интересует случай, когда View не взаимодействует с Model. Если только Viewer знает о View, но не View знает о Controller, мы можем легко обновить View с данными модели (напишите, например, текст), вызвав методы View и Model в Controller.

Но как контроллер и модель могут реагировать на изменения вида (кнопка pu sh, например), если View не знает о контроллере или модели?

1 Ответ

1 голос
/ 14 января 2020

- Одно решение -

Один из способов связать 2 объекта со слабой связью (в вашем случае представления не знают о контроллере и наоборот) с помощью шаблон «посланник» .

«Посланник» - это объект, известный всем остальным. Использование объекта 'messenger':

  • Вы регистрируете объекты (ваши представления) для отправки сообщений
  • Вы регистрируете объекты (контроллеры, модели ...) для прослушивания указанных c messages

Таким образом, модель может реагировать на конкретное c событие представления, поскольку оно зарегистрировано в мессенджере.

Здесь приведен полный пример (C# код): Light Messenger Pattern

Скажите, если это то, что вы искали ...

...