Друзья, данная часть цикла статей о флэш-фреймфорвке PureMVC должна называться "Как обмениваются Оповещениями участники PureMVC". Но комментарии к предыдущей части, "Фасад — ядро и лицо фреймворка PureMVC" навели на мысль, что стоит подробнее выяснить назначение и концептуальное устройство PureMVC, прежде чем переходить к более конкретной теме. Поэтому сначала еще немного о цели PureMVC, а также о крупных частях его тела: о Модели, Представлении, Контроллере и Фасаде.
В PureMVC Модель, Представление и Контроллер реализуются как три одноименных класса-синглтона: Model, View, Controller. В то же время, PureMVC организован так, что разработчик может использовать данные классы прозрачно, с помощью Фасада, тоже Синглтона. Этот класс знает каждого из трех главных участников системы. Такой Фасад можно назвать Центральным Фасадом приложения.
Теперь коротко о каждом из трех главных игроков-синглтонов Pure MVC (Синглтон — это класс, гарантирующий существование только одного своего экземпляра, поэтому его также называют Одиночкой).
Так в PureMVC Модель отделяется от Представления.
Синглетоны Модели, Представлениея и Контроллера в PureMVC, по сути, не делают ничего, кроме выдачи ссылок на своих представителей. Именно поэтому подавляюще бОльшая часть кода при реализации PureMVC-приложения пишется именно внутри этих представителей: Посредников (представляют модель данных), Медиаторов (представляют вид приложения) и Команд (дают управление).
Разработчик PureMVC-приложения получает всю необходимую функциональность, просто расширяя Фасад PureMVC своим классом, таким образом получая Конкретный Фасад приложения. И уже через этот Конкретный Фасад происходит работа с Конкретными Посредниками, Медиаторами и Командами — то есть с данными приложения и его видом, а также общее управление им.
Почитайте о Фасаде в PureMVC еще раз. Если стало понятнее, то эта запись не прошла зря.
Запись не зря, долой безграмотность! Спасибо Рост за твою работу, можно даже сказать спасибо тебе Рост за рост.
Презентуха PureMVC: https://admin.adobe.acrobat.com/_a200985228/p12266504/
Предыдущий пост
Следующий пост