PureMVC

редактировать
PureMVC
PureMVC-Icon.jpg
Автор (ы) Клиффорд Холл
Разработчик (и) Futurescale, Inc. и Сообщество PureMVC
Стабильный выпуск 2.0.4 / 14 августа 2008 г. (2008-08-14)
Написано наActionScript, C ++, C#, ColdFusion, Dart, haXe, Java, JavaScript, Objective-C, Perl, PHP, Python, Ruby, Swift, TypeScript
Операционная система Кросс-платформенная
Тип Framework
Лицензия 3 пункта BSD
Веб-сайтpuremvc.org Измените это в Викиданных

PureMVC - это среда для создания приложений на основе хорошо зарекомендовавших себя модель – представление – контроллер (MVC) шаблон проектирования. Бесплатная среда с открытым исходным кодом изначально была реализована на языке ActionScript 3 для использования с Adobe Flex, Flash и AIR, а также с тех пор перенесен почти на все основные платформы веб-разработки.

Содержание
  • 1 Реализации
    • 1.1 Стандартная версия
    • 1.2 Версия MultiCore
    • 1.3 Порты
  • 2 Внешние ссылки
Реализации

Стандартная версия

Уровни приложения Модель, Представление и Контроллер представлены тремя Синглетонами (класс, из которого может быть создан только один экземпляр).

Синглтоны MVC поддерживают именованные кеши прокси, посредников и команд соответственно. Фасад, также являющийся синглтоном, обеспечивает единый интерфейс для связи во всем приложении. Эти четыре синглтона называются основными участниками.

  • Объекты данных, будь то локальные или удаленные, управляются прокси.
  • Компоненты представления, составляющие пользовательский интерфейс, управляются посредниками.
  • Команды могут взаимодействовать с прокси-серверами, посредниками, а также запускать или выполнять другие команды.

Все участники обнаруживают и общаются друг с другом через фасад, а не работают напрямую с моделью, представлением и контроллером.

PureMVC также представляет схему уведомлений в стиле публикация / подписка Observer. Это обеспечивает асинхронную, управляемую событиями связь между участниками системы, а также способствует слабой связи между этими субъектами, поскольку подписчик никогда не должен иметь непосредственного знания об издателе.

Справочная реализация стандартной версии написана на ActionScript 3.

Версия MultiCore

Этот вариант поддерживает модульное программирование, позволяя использовать независимые программные модули, каждый со своим собственным независимым PureMVC «Ядро». Ядро - это набор из четырех основных действующих лиц, используемых в стандартной структуре (модель, представление, контроллер и фасад). Эта версия платформы использует Multitons вместо Singletons. Вместо того, чтобы хранить один экземпляр класса, Multiton хранит карту экземпляров. На каждое ядро ​​ссылается связанный многотонный ключ.

Версия платформы MultiCore была разработана из-за повсеместной потребности в модульной поддержке в мире все более амбициозных многофункциональных Интернет-приложений, которые должны загружать и выгружать большие части функциональности во время выполнения. Например, приложению КПК может потребоваться динамическая загрузка и выгрузка модулей для управления списком задач, календарем, электронной почтой, контактами и файлами. «Многоядерная» версия облегчает модульное тестирование.

Эталонная реализация многоядерной версии написана на ActionScript 3.

Порты

Существует несколько активных портов PureMVC - реализации для разных языков программирования, каждый внесено и поддержано членами сообщества PureMVC. Каждый порт, в свою очередь, поддерживает одну или несколько целевых платформ разработки, которые охватывают большинство основных мобильных, браузерных, настольных и серверных сред.

ЯзыкЦелиСтандартная версияВерсия MultiCore
ActionScript 2Flex 1.5, Flash 8, FlashLite[1]
ActionScript 3Flex 2, Flex 3, Flex 4, Flash 9+, AIR (все версии). Исходные эталонные реализации PureMVC[2] [3]
C ++ Поточно-ориентированная. Скомпилировать с: MSVC 8.0 / 9.0 / 10.0, MinGW 3.4.5, GNU G ++ 4.0, Embarcadero C ++ 6.21 (MFC, WTL, wxWidgets, Qt...)[4]
C# .NET Core, Windows 10, Xamarin, Xbox, Kinect, HoloLens, Surface Neo[5] [6]
ColdFusion ColdFusion 8[7]
Dart Google Dart[ 8]
Go Google Go[9] [10]
Haxe JavaScript, Flash 8, Flash 9, Neko VM, Hashlink VM, PHP, Lua, Python, ActionScript 3, C ++, Java, C #, NodeJS [11] [12] [13]
Java Java Mobile, Standard и Enterprise Editions (ME, SE, EE), JavaFX, сервлеты, Апплеты и GWT[14] [15]
JavaScript Нейтральный браузер. Собственный порт JavaScript MultiCore работает со всеми другими фреймворками. (Предыдущие сторонние зависимые порты устарели).[16]
Kotlin Android[17]
Objective-C Apple iPhone и Mac[18]
Perl Perl 5[19] [20]
PHP PHP 5[21] [22]
Python Python 2.5 для wxPython, Google App Engine, Pyjs [23] [24] [25]
Руби Руби[26]
Свифт Свифт[27] [28]
TypeScript TypeScript[29] [30]
Внешние ссылки
Последняя правка сделана 2021-06-02 10:59:47
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте