Есть так много причин, по которым использование фреймворка MVC в Flex скачет, но выбор правильного кажется сложным. Мне интересно, что вы все думаете о своем опыте реализации того или иного (или другого).
Сэм





Вопрос уже задан, однако, поскольку вы конкретно спрашиваете о преимуществах Cairngorm и PureMVC, я так думаю:
И PureMVC, и Cairngorm затрудняют написание тестируемого кода. В основном это связано с использованием глобальных переменных, которые плотно связывают код вашего приложения, что затрудняет изоляцию какой-либо части для тестирования. Это больше относится к Cairngorm, чем к PureMVC, но оба они довольно плохи.
PureMVC более агрессивен, чем Cairngorm (это означает, что ваш код сильно зависит от фреймворка, например, вы должны создать подкласс / реализовать классы / интерфейсы фреймворка), но это не означает, что Cairngorm не является.
Cairngorm полон антишаблонов, таких как интенсивное использование глобальных переменных, PureMVC скрывает худшие части себя.
PureMVC является анти-Flex, Cairngorm просто не использует многие из хороших частей Flex. Под этим я подразумеваю, что PureMVC заново изобретает многие вещи, которые уже есть у Flex, потому что он хочет быть независимым от платформы, и из-за своей архитектуры, в частности посредников, усложняет использование привязок в полную силу. Cairngorm просто пропускает такие вещи, как всплытие событий, и вместо этого выбирает решения, включающие глобальную переменную.
Короче говоря, Cairngorm - это VisualBasic Flex, он работает, но научит вас множеству вредных привычек. PureMVC не так уж и плох, просто он не очень хорошо подходит для написания приложений Flex.
Я думаю, вам следует обратить внимание на Приятель, который использует Flex в полной мере и не основан на глобальных переменных. Вместо этого он помогает вам писать слабосвязанный, тестируемый, повторно используемый и обслуживаемый код без тяжелых и ненужных зависимостей от платформы, которые вы видите в других платформах приложений.
Если вам по какой-то причине не нравится Mate, попробуйте Swiz, который является большим улучшением по сравнению с Cairngorm, но все же имеет некоторые странные предпочтения в использовании глобальных переменных для центральной диспетчеризации событий (что совершенно странно, учитывая, что одна из точек фреймворка заключается в том, чтобы избежать злых глобальных переменных Кэрнгорма).
Вы того же мнения о расширенной каирнгорме? umcairngorm.riaforge.org
Расширения Universal Mind подобны помаде на свинье. Они являются улучшением по сравнению с ванильным Cairngorm, но проблемы фундаментальные, а не поверхностные. Расширения единой системы обмена сообщениями делают Cairngorm более удобным в использовании, чем отсутствие фреймворка приложений (чего нельзя сказать о обычном Cairngorm), но не более того.
Этот вопрос уже задавали: stackoverflow.com/questions/37043/flex-mvc-frameworks