Framework Overview With UML Diagrams
Framework Overview With UML Diagrams
The PureMVC framework has a very narrow goal. That is to help you
separate your application’s coding concerns into three discrete tiers;
Model, View and Controller.
The Model caches named references to Proxies, which expose an API for
manipulating the Data Model (including data retrieved from remote services).
The View primarily caches named references to Mediators, which adapt and
steward the View Components that make up the user interface.
The Façade initializes and caches the Core actors (Model, View and
Controller), and provides a single place to access all of their public methods.
The Façade class makes it possible for the Proxies, Mediators and
Commands that make up most of our final application to talk to each
other in a loosely coupled way, without having to import or work
directly with the Core framework actors.
The Core actors Model, View and Controller implement IModel, IView
and IController interfaces respectively. The Façade implements IFacade,
which implements all the Core interfaces, by composition.
PureMVC is a free, open source framework created and maintained by Futurescale, Inc. Copyright © 2006-08, Some rights reserved.
Reuse is governed by the Creative Commons 3.0 Attribution Unported License. PureMVC, as well as this documentation and any training materials or demonstration source
code downloaded from Futurescale’s websites is provided 'as is' without warranty of any kind, either express or implied, including, but not limited to, the implied
warranties of fitness for a purpose, or the warranty of non-infringement.
PureMVC is a free, open source framework created and maintained by Futurescale, Inc. Copyright © 2006-08, Some rights reserved.
Reuse is governed by the Creative Commons 3.0 Attribution Unported License. PureMVC, as well as this documentation and any training materials or demonstration source
code downloaded from Futurescale’s websites is provided 'as is' without warranty of any kind, either express or implied, including, but not limited to, the implied
warranties of fitness for a purpose, or the warranty of non-infringement.
PureMVC is a free, open source framework created and maintained by Futurescale, Inc. Copyright © 2006-08, Some rights reserved.
Reuse is governed by the Creative Commons 3.0 Attribution Unported License. PureMVC, as well as this documentation and any training materials or demonstration source
code downloaded from Futurescale’s websites is provided 'as is' without warranty of any kind, either express or implied, including, but not limited to, the implied
warranties of fitness for a purpose, or the warranty of non-infringement.
View
-instance : IView
-mediatorMap : Array
-observerMap : Array
-SINGLETON_MSG : String
+registerObserver(in notificationName : String, in observer : IObserver) : void
IView +notifyObservers(in notification : INotification) : void
+registerMediator(in mediator : IMediator) : void
+retrieveMediator(in mediatorName : String) : IMediator
+removeMediator(in mediatorName : String) : void
+hasMediator(in mediatorName : String) : Boolean
+View()
+getInstance() : IView
#initializeView() : void
Mediator
+NAME : String
-viewComponent : Object
-facade : IFacade
+getMediatorName() : String
+setViewComponent(in viewComponent : Object) : void
IMediator +getViewComponent() : Object
+listNotificationInterests() : Array
1 +handleNotification(in notification : INotification) : void
+onRegister() : void
+onRemove() : void
1
+sendNotification(in notificationName : String, in body : Object, in type : String) : void
+Meditator(in viewComponent : Object)
1
ViewComponent
IFacade Facade
1
PureMVC is a free, open source framework created and maintained by Futurescale, Inc. Copyright © 2006-08, Some rights reserved.
Reuse is governed by the Creative Commons 3.0 Attribution Unported License. PureMVC, as well as this documentation and any training materials or demonstration source
code downloaded from Futurescale’s websites is provided 'as is' without warranty of any kind, either express or implied, including, but not limited to, the implied
warranties of fitness for a purpose, or the warranty of non-infringement.
Proxies help us to expose data structures and entity classes (and the
domain logic and services that support them) to our application in such
a way that they may be easily reused elsewhere, or refactored with a
minimum amount of impact to the rest of the application.
PureMVC is a free, open source framework created and maintained by Futurescale, Inc. Copyright © 2006-08, Some rights reserved.
Reuse is governed by the Creative Commons 3.0 Attribution Unported License. PureMVC, as well as this documentation and any training materials or demonstration source
code downloaded from Futurescale’s websites is provided 'as is' without warranty of any kind, either express or implied, including, but not limited to, the implied
warranties of fitness for a purpose, or the warranty of non-infringement.
Model
-instance : IModel
-proxyMap : Array
-SINGLETON_MSG : String
+regsterProxy(in proxy : IProxy) : void
IModel +retrieveProxy(in proxyName : String) : IProxy
+removeProxy(in proxyName : String) : void
+hasProxy(in proxyName : String) : Boolean
+Model()
+getInstance() : IModel
#initializeModel() : void
Proxy
+NAME : String
-data : Object
-proxyName : String
-facade : IFacade
IProxy +getProxyName() : IProxy
1 +onRegister() : void
+onRemove() : void
+sendNotification(in notificationName : String, in body : Object, in type : String) : void
+getData() : Object 1
+setData() : Object
1
DataObject
IFacade Facade
PureMVC is a free, open source framework created and maintained by Futurescale, Inc. Copyright © 2006-08, Some rights reserved.
Reuse is governed by the Creative Commons 3.0 Attribution Unported License. PureMVC, as well as this documentation and any training materials or demonstration source
code downloaded from Futurescale’s websites is provided 'as is' without warranty of any kind, either express or implied, including, but not limited to, the implied
warranties of fitness for a purpose, or the warranty of non-infringement.
PureMVC is a free, open source framework created and maintained by Futurescale, Inc. Copyright © 2006-08, Some rights reserved.
Reuse is governed by the Creative Commons 3.0 Attribution Unported License. PureMVC, as well as this documentation and any training materials or demonstration source
code downloaded from Futurescale’s websites is provided 'as is' without warranty of any kind, either express or implied, including, but not limited to, the implied
warranties of fitness for a purpose, or the warranty of non-infringement.
Controller
-instance : IController
-view : IView
-commandMap : Array
-SINGLETON_MSG : String
IController +registerCommand(in notificationName : String, in commandClassRef : Class) : void
+executeCommand(in notification : INotification) : void
+removeCommand(in notificationName : String) : void
+hasCommand(in notificationName : String) : Boolean
+Controller()
+getInstance() : IView
#initializeController() : void
MacroCommand
-subCommands : Array
-facade : IFacade «uses»
«uses» 1
IFacade Facade
SimpleCommand
1
IFacade Facade
PureMVC is a free, open source framework created and maintained by Futurescale, Inc. Copyright © 2006-08, Some rights reserved.
Reuse is governed by the Creative Commons 3.0 Attribution Unported License. PureMVC, as well as this documentation and any training materials or demonstration source
code downloaded from Futurescale’s websites is provided 'as is' without warranty of any kind, either express or implied, including, but not limited to, the implied
warranties of fitness for a purpose, or the warranty of non-infringement.
PureMVC is a free, open source framework created and maintained by Futurescale, Inc. Copyright © 2006-08, Some rights reserved.
Reuse is governed by the Creative Commons 3.0 Attribution Unported License. PureMVC, as well as this documentation and any training materials or demonstration source
code downloaded from Futurescale’s websites is provided 'as is' without warranty of any kind, either express or implied, including, but not limited to, the implied
warranties of fitness for a purpose, or the warranty of non-infringement.
View
-instance : IView
-mediatorMap : Array
-observerMap : Array
-SINGLETON_MSG : String
+registerObserver(in notificationName : String, in observer : IObserver) : void
IView +notifyObservers(in notification : INotification) : void
+registerMediator(in mediator : IMediator) : void
+retrieveMediator(in mediatorName : String) : IMediator
+removeMediator(in mediatorName : String) : void
+hasMediator(in mediatorName : String) : Boolean
+View()
+getInstance() : IView
#initializeView() : void
Observer
-notify : Function «uses»
-context : Object
+setNotifyMethod(in notifyMethod : Function) : void
IObserver +setNotifyContext(in notifyContext : Object) : void
+getNotifyMethod() : Function
+getNotifyContext() : Object
+notifyObserver(in notification : INotification) : void
+Observer(in method : Function, in context : Object)
Notification
-name : String
-type : String
-body : Object
+getName() : String
INotification +setBody(in body : Object) : void
+getBody() : Object
+setType(in type : String) : void
+getType() : String
+toString() : String
+Notification(in notificationName : String, in body : Object = null, in type : String = null)
PureMVC is a free, open source framework created and maintained by Futurescale, Inc. Copyright © 2006-08, Some rights reserved.
Reuse is governed by the Creative Commons 3.0 Attribution Unported License. PureMVC, as well as this documentation and any training materials or demonstration source
code downloaded from Futurescale’s websites is provided 'as is' without warranty of any kind, either express or implied, including, but not limited to, the implied
warranties of fitness for a purpose, or the warranty of non-infringement.
IModel
«interface»interfaces::IModel
+regsterProxy(in proxy : IProxy) : void
+retrieveProxy(in proxyName : String) : IProxy
+removeProxy(in proxyName : String) : void
+hasProxy(in proxyName : String) : Boolean
IView
«interface»interfaces::IView
+registerObserver(in notificationName : String, in observer : IObserver) : void
+notifyObservers(in notification : INotification) : void
+registerMediator(in mediator : IMediator) : void
+retrieveMediator(in mediatorName : String) : IMediator
+removeMediator(in mediatorName : String) : void
+hasMediator(in mediatorName : String) : Boolean
IController
«interface»interfaces::IController
+registerCommand(in notificationName : String, in commandClassRef : Class) : void
+executeCommand(in notification : INotification) : void
+removeCommand(in notificationName : String) : void
+hasCommand(in notificationName : String) : Boolean
PureMVC is a free, open source framework created and maintained by Futurescale, Inc. Copyright © 2006-08, Some rights reserved.
Reuse is governed by the Creative Commons 3.0 Attribution Unported License. PureMVC, as well as this documentation and any training materials or demonstration source
code downloaded from Futurescale’s websites is provided 'as is' without warranty of any kind, either express or implied, including, but not limited to, the implied
warranties of fitness for a purpose, or the warranty of non-infringement.
IMediator
ICommand
INotifier
IObserver
PureMVC is a free, open source framework created and maintained by Futurescale, Inc. Copyright © 2006-08, Some rights reserved.
Reuse is governed by the Creative Commons 3.0 Attribution Unported License. PureMVC, as well as this documentation and any training materials or demonstration source
code downloaded from Futurescale’s websites is provided 'as is' without warranty of any kind, either express or implied, including, but not limited to, the implied
warranties of fitness for a purpose, or the warranty of non-infringement.
PureMVC is a free, open source framework created and maintained by Futurescale, Inc. Copyright © 2006-08, Some rights reserved.
Reuse is governed by the Creative Commons 3.0 Attribution Unported License. PureMVC, as well as this documentation and any training materials or demonstration source
code downloaded from Futurescale’s websites is provided 'as is' without warranty of any kind, either express or implied, including, but not limited to, the implied
warranties of fitness for a purpose, or the warranty of non-infringement.