PureMVC - PureMVC
![]() | tento článek ne uvést žádný Zdroje.Ledna 2017) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
![]() | |
Původní autoři | Clifford Hall |
---|---|
Vývojáři | Futurescale, Inc. a komunita PureMVC |
Stabilní uvolnění | 2.0.4 / 14. srpna 2008 |
Napsáno | ActionScript, C ++, C#, Studená fúze, Šipka, haXe, Jáva, JavaScript, Cíl-C, Perl, PHP, Krajta, Rubín, Rychlý, Strojopis |
Operační systém | Cross-platform |
Typ | Rámec |
Licence | 3-klauzule BSD |
webová stránka | puremvc![]() |
PureMVC je rámec pro vytváření aplikací založených na dobře zavedených model – pohled – řadič (MVC) návrhový vzor. Volný, otevřený zdroj framework byl původně implementován v jazyce ActionScript 3 pro použití s Adobe Flex, Blikat a VZDUCH, a od té doby to bylo přeneseno téměř na všechny hlavní platformy pro vývoj webových aplikací.
Implementace
Standardní verze
Úrovně aplikací Model, View a Controller jsou reprezentovány třemi Singletons (třída, z níž lze vytvořit pouze jednu instanci).
MVC Singletons udržují pojmenované mezipaměti z Proxy, Zprostředkovatelé a Příkazy, resp. The Fasáda, také Singleton, poskytuje jediné rozhraní pro komunikaci v celé aplikaci. Tyto čtyři Singletony se označují jako základní herci.
- Datové objekty, ať už lokální nebo vzdálené, jsou spravovány servery proxy.
- Komponenty pohledu, které tvoří uživatelské rozhraní, jsou spravovány prostředníky.
- Příkazy mohou interagovat s proxy, mediátory, stejně jako spouštět nebo spouštět další příkazy.
Všichni aktéři se objevují a vzájemně komunikují prostřednictvím Facade, místo aby pracovali přímo s Modelem, View a Controllerem.
PureMVC také zavádí a Publikovat / přihlásit se k odběru -styl Pozorovatel oznamovací schéma. To umožňuje asynchronní komunikaci založenou na událostech mezi aktéry systému a také podporuje a volné spojení mezi těmito aktéry, protože předplatitel nikdy nemusí mít přímé znalosti vydavatele.
Implementace referenční verze standardní verze je napsána v jazyce ActionScript 3.
Verze MultiCore
Tato variace podporuje modulární programování, což umožňuje použití nezávislých programových modulů, každý s vlastním nezávislým PureMVC „Core“. Core je sada čtyř hlavních aktérů používaných ve standardním rámci (Model, View, Controller a Facade). Tato verze rámce používá Multiton místo Singletonů. Spíše než ukládat jednu instanci třídy, Multiton ukládá a mapa případů. Na každé jádro odkazuje přidružený klíč Multiton.
Verze systému MultiCore byla vyvinuta kvůli široké potřebě modulární podpory ve světě stále ambicióznějších bohatých internetových aplikací, které musí za běhu načítat a uvolňovat velké části funkcí. Například aplikace PDA možná bude muset dynamicky načítat a uvolňovat moduly pro správu seznamu úkolů, kalendáře, e-mailů, kontaktů a souborů. Verze „multicore“ usnadňuje testování jednotky.
Implementace referenční verze verze MultiCore je napsána v jazyce ActionScript 3.
Přístavy
Existuje několik aktivních PureMVC porty —Implementace pro různé programovací jazyky, z nichž každý přispěl a podporuje členy komunity PureMVC. Každý port zase podporuje jednu nebo více cílových vývojových platforem, které pokrývají většinu hlavních mobilních, prohlížečových, desktopových a serverových prostředí.
Jazyk | Cíle | Standardní verze | Verze MultiCore |
---|---|---|---|
ActionScript 2 | Flex 1.5, Flash 8, FlashLite | [1] | |
ActionScript 3 | Flex 2, Flex 3, Flex 4, Flash 9+, AIR (všechny verze). Původní referenční implementace PureMVC | [2] | [3] |
C ++ | Bezpečné pro závit. Kompilovat s: 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] |
Studená fúze | ColdFusion 8 | [7] | |
Šipka | Google Dart | [8] | |
Jít | Google Go | [9] | [10] |
Haxe | JavaScript, Flash 8, Flash 9, Neko VM, Hashlink VM, PHP, Lua, Python, Actioncript 3, C ++, Java, C #, NodeJS [11] | [12] | [13] |
Jáva | Java Mobile, Standard a Enterprise Edition (ME, SE, EE), JavaFX, Servlety, Applety a GWT | [14] | [15] |
JavaScript | Prohlížeč neutrální. Nativní port MultiCore JavaScriptu funguje se všemi ostatními rámci. (Předchozí porty závislé na třetích stranách jsou zastaralé). | [16] | |
Kotlin | Android | [17] | |
Cíl-C | Apple iPhone a Mac | [18] | |
Perl | Perl 5 | [19] | [20] |
PHP | PHP 5 | [21] | [22] |
Krajta | Python 2.5 pro wxPython, Google App Engine, Pyjs [23] | [24] | [25] |
Rubín | Rubín | [26] | |
Rychlý | Rychlý | [27] | [28] |
Strojopis | Strojopis | [29] | [30] |