Здравствуйте, IB, Вы писали:
IB>Здравствуйте, Jericho113, Вы писали:
J>>В ней, как я понял из примера, описывается работа с пассивной моделью.
IB>Именно.
ок значит я что то еще понимаю в этой жизни
J>>Как тогда получается взаимодействие модели View-а и Presenter-a ?
IB>View и Presenter взаимодействуют точно так же... Presenter знает что он что-то поменял в модели, опрашивает модель на предмет изменений и обновляет соответствующие View. Если в системе существуют несколько независимых Presenter-ов, то внесший изменения презентер может взаимодействовать с остальными через события, либо ввести еще одину триаду уровнем выше, которая через свой презентер контролирует все нижележащие...
Значит тут есть жесткая связка модели и Presenter-a. Я так понимаю что Presenter должен подписаться на некоторые события модели которые уведомляют о
изменении модели и соотвецтвующим образом изменить View и остальные Presenter-ы которые с ним связаны?!
Если так тогда более менее понятно.
Тогда вот такой момент поправте если что не так к примеру во View есть кнопка с сохранием текущего документа или же чего бы то ни было.
Далее
логика обработки события от этой кнопки переходит в Presenter и он определяет (используя состояние модели или еще как либо ) что в данный момент можно сохраниться или показывает соотвецтвующий диалог, а далее если что пошло не так то отлавливает все исключения и в соотвецтвующим образом модифицирует модель и/или View. Т.е. вся логика работы программы разделяется в моедли и Presenter-e а View не имеет собственной логики.. Ход мыслей правилен или может я всетаки что то упустил?