PureMVC

PureMVC

Infobox Software
name = PureMVC

developer = [http://futurescale.com/ Futurescale, Inc.]
programming languages = ActionScript 2,ActionScript 3
latest_release_version = 2.0.3
latest_release_date = March 17th, 2008
operating_system = Cross-platform
genre = Framework
license = CC +Attribution
website = [http://puremvc.org/ puremvc.org]

PureMVC is a lightweight framework for creating applications based upon the classic Model, View and Controller concept. Based upon proven design patterns, this free, open source framework which was originally implemented in the ActionScript 3 language for use with Adobe Flex, Flash and AIR, has now been ported to nearly all major development platforms.

Implementation

tandard Version

The Model, View and Controller application tiers are represented by three Singletons (a class where only one instance may be created). The MVC Singletons maintain named caches of Proxies, Mediators and Commands, respectively. The Façade, also a Singleton, provides a single interface for communications throughout the application. These four Singletons are referred to as the Core Actors.

* Data objects, be they local or remote, are managed by Proxies.
* The View Components that make up the User Interface are managed by Mediators.
* Commands may interact with Proxies, Mediators, as well as trigger or execute other Commands.

All actors discover and communicate with each other via the Façade, rather than work directly with Model, View and Controller.

PureMVC also introduces a Publish/subscribe-style Observer notification scheme. This allows asynchronous, event-driven communications between the actors of the system, and also promotes a loose coupling between those actors, since the subscriber never needs to have direct knowledge of the publisher.

The Standard Version Reference Implementation is written in ActionScript 3.

MultiCore Version

This variation supports modular programming, allowing the use of independent program modules each with their own independent PureMVC 'Core'. A Core is a set of the four main actors used in the Standard framework (Model, View, Controller and Facade). This version of the framework uses Multitons instead of Singletons. Rather than storing a single instance of the class, a Multiton stores a "map" of instances. Each Core is referenced by an associated Multiton Key.

The MultiCore Version of the framework was developed due to the widespread need for modular support in a world of ever-more ambitious Rich Internet Applications which must load and unload large pieces of functionality at runtime. For instance a PDA application might need to dynamically load and unload modules for managing task list, calendar, email, contacts, and files.

The MultiCore Version Reference Implementation is written in ActionScript 3.

Ports

There are several active PureMVC Ports; implementations for various programming languages, each contributed and supported by PureMVC community members. Each Port, in turn supports one or more target development platforms, which cover most major mobile, browser, desktop and server environments.

AS2

The ActionScript 2 Port is modeled after the Standard Version It supports development for Flex 1.5, Flash 8, FlashLite * [http://trac.puremvc.org/PureMVC_AS2 PureMVC AS2 Port Home]

AS3

Both AS3 Ports support development for Flex 2, 3, Flash 9/CS3, AIR. * [http://trac.puremvc.org/PureMVC_AS3 PureMVC AS3 Standard Port Home] - Original reference implementation * [http://trac.puremvc.org/PureMVC_AS3_MultiCore PureMVC AS3 MultiCore Port Home] - Modular programming via Flex Modules or SWFs

C#

The C# Port is modeled after the Standard Version It supports development for .NET 1.0/2.0 Silverlight, Windows Mobile and Pocket PC * [http://trac.puremvc.org/PureMVC_CSharp PureMVC C# Port Home]

ColdFusion

The ColdFusion Port is modeled after the Standard Version It supports development for ColdFusion 8 * [http://trac.puremvc.org/PureMVC_CF PureMVC ColdFusion Port Home]

haXe

The haXe Port is modeled after the Standard Version It supports development for JavaScript, Flash 8, Flash 9 and the Neko VM * [http://trac.puremvc.org/PureMVC_Haxe PureMVC haXe Port Home]

Java

The Java Port is modeled after the Standard Version It supports Java Mobile, Standard and Enterprise Editions (ME, SE, EE), JavaFX, Servlets, Applets * [http://trac.puremvc.org/PureMVC_Java PureMVC Java Port Home]

PHP

The PHP Port is modeled after the Standard Version It supports development for PHP 5 and 6 * [http://trac.puremvc.org/PureMVC_PHP PureMVC PHP Port Home]

Python

The Python Port supports is modeled after the Standard Version It supports development in Python 2.5 for wxPython and Google App Engine * [http://trac.puremvc.org/PureMVC_Python PureMVC Python Port Home]


Wikimedia Foundation. 2010.

Игры ⚽ Нужно решить контрольную?

Look at other dictionaries:

  • PureMVC — Développeur Futurescale, Inc …   Wikipédia en Français

  • Model–view–controller — A general representation of the MVC design pattern. Model view controller concept. The solid line represents a direct as …   Wikipedia

  • Multiton pattern — In software engineering, the multiton pattern is a design pattern similar to the singleton, which allows only one instance of a class to be created. The multiton pattern expands on the singleton concept to manage a map of named instances as key… …   Wikipedia

  • Adobe LiveCycle — Infobox Software name = Adobe LiveCycle caption = developer = Adobe Systems Incorporated latest release version = Enterprise Suite (ES) 8.0.1 latest release date = June 2007 operating system = AIX, Linux, Solaris, Windows genre = license =… …   Wikipedia

  • Сравнение каркасов веб-приложений — Это сравнительная таблица фреймворков веб приложений. Содержание 1 Фреймворки 1.1 ASP.NET 1.2 C++ 1.3 ColdFusion Markup Language (CFML) …   Википедия

  • Dynamic HTML — HTML HTML and HTML5 Dynamic HTML XHTML XHTML Mobile Profile and C HTML Canvas element Character encodings Document Object Model Font family HTML editor HTML element HTML Frames HTML5 video …   Wikipedia

  • JScript — Appeared in 1996 Developer Microsoft Stable release 9.0 (March 2011) Typing discipline dynamic, weak, duck Major implementations W …   Wikipedia

  • Rhino (JavaScript engine) — Rhino Developer(s) Mozilla Foundation / Mozilla Corporation Stable release 1.7R3 / May 9, 2011; 6 months ago ( …   Wikipedia

  • Presto (layout engine) — Presto Developer(s) Opera Software ASA Stable release 2.9.168 / 28 June 2011; 4 months ago ( …   Wikipedia

  • WebKit — Developer(s) Apple, KDE, Nokia, Google, RIM, Palm, Samsung, others. Initial release November 4, 1998; 13 years ago …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”