Я недавно научился каркасу PureMVC и немного запутался в отношении связи между объектами Proxy и Mediator. Ссылки на странице this связаны с некоторыми документами, описывающими структуру. (Обратите внимание, что ссылки на вышеприведенной странице открывают PDF-файлы.)Почему медиаторы связаны с Proxies в Flex PureMVC?
Диаграммы и примеры PureMVC, которые я рассмотрел, часто показывают прямую связь между посредником и прокси. Когда состояние прокси обновляется, а не отправляется новое уведомление, посредник (который получает ссылку на прокси с фасада) обновляет свое состояние.
Это, безусловно, упрощает логику кода, но также напрямую соединяет два, казалось бы, разрозненных компонента. Насколько я понимаю, целью медиатора является перевести события из представления в уведомления PureMVC. Прокси предназначены для выполнения некоторой функции для сбора данных и передачи их обратно в представление. Эти два компонента, похоже, существуют в разных слоях приложения и, возможно, не обязательно должны быть связаны вместе.
Не было бы лишнего смысла, если бы объекты Proxy отправляли свои собственные Уведомления, когда их состояние обновляется, которые пересылаются заинтересованному посреднику на Фасад?
Извините, я не понимаю. Если посредник получает уведомление с фасада (которое было отправлено прокси), и оно содержит объект данных, который используется для обновления представления, как он связан с прокси-сервером? Вы имеете в виду, что они косвенно связаны через Уведомление? – bedwyr
Извините, комментарий до этого не очень ясен. Я имею в виду, что медиаторы всегда связаны с прокси-серверами, хотя бы потому, что они должны представлять то, что «внутри» их. Взгляды вообще «нужно знать» о моделях. Для меня нет большой разницы между обновлением представления/посредником посредством уведомлений или его обновлением посредством прямого доступа к прокси (используя фасад). Пока это не так (прокси-сервер должен знать о посреднике), я думаю, что все в порядке. Надеюсь, что это имеет немного больше смысла! Juan –
На самом деле это имеет больше смысла - спасибо. Я читал некоторые сообщения на форумах PureMVC, и у этой темы появилось много разных мнений, многие из которых довольно бешеные. Спасибо за ваши мысли! – bedwyr