PureMVC

Adobe Platform/Flex 2013. 12. 4. 14:03


[이미지 출처] http://puremvc.org/


1.  PureMVC란?

MVC(Model-View-Controller) 디자인 패턴을 기반으로 Application 만들때 사용하는 Framework 입니다. Actionscript3로 만들어진 오픈소스이고, 무료입니다. Flex, Flash, AIR 지원합니다.  Standard 버전과 MultiCore 버전 두가지가 있습니다.


2. PureMVC Standard version

The Model, View and Controller application tiers are represented by three Singletons (a class of which only one instance may be created).

The MVC Singletons maintain named caches of Proxies, Mediators and Commands, respectively. The Facade, 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 Facade, 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.


3. PureMVC 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 facilitates unit testing.

The MultiCore Version Reference Implementation is written in ActionScript 3.


[출처] http://en.wikipedia.org/wiki/PureMVC

[참고1] pureMVC 알아보기 :  http://flystone.tistory.com/29

[참고2] pureMVC 체험 : http://blog.naver.com/zoom7810?Redirect=Log&logNo=50032401652

[참고3] PureMVC에 대한 단상 : http://blog.naver.com/hiddenid?Redirect=Log&logNo=40057116343

[참고4] PureMVC 프레임워크를 이용한 MVC 예제 : http://blog.jidolstar.com/328

[참고5] PureMVC UML로 표현 : http://chaospace.tistory.com/3

[참고6] http://www.dehats.com/drupal/?q=node/36

AND