The PureMVC framework

The PureMVC Framework Code at the Speed of Thought

in...

Stable and feature-frozen since 2008

While the "release early, release often" development philosophy can help a team learn what their product should do, if that product is a framework, adopters often tire of trying to hit a moving target. With PureMVC, we nailed down the scope early on, fixed the bugs, and let it be.

MVC is simple, there's no reason to keep changing it

Many so-called Model-View-Controller frameworks today seem to include everything but the kitchen sink. We decided that basic separation of responsibilities according to the MVC meta-pattern could be expressed with a handful of actors. We gave them a built-in means to communicate with each other which reinforces the classic MVC collaboration patterns, and did so with the simplest possible language features. That's why it's been ported to so many languages from the original ActionScript. It just works, with no "magic happens here" bits.

The Model is both a class and a region of the application.

It manages Proxies, which deal with different parts of the application's data.

Proxies can notify the View and Controller.

The View is both a class and a region of the application.

It manages Mediators, which handle events from, and pass data to View Components.

Mediators can update the Model and notify the Controller.

The Controller is both a class and a region of the application.

It manages Commands, which house the application's business logic.

Commands can notify the View and update the Model.

The Facade connects the Model, View, and Controller

Available to all Proxies, Commands, and Mediators, it exposes the Model, View, and Controller methods all in one place, obviating the need to work with those classes directly.

It also provides the means for sending notifications according to a simple publish/subscribe scheme.

Multicore enables modular programming

While the basic MVC paradigm implemented in the PureMVC Standard Framework is adequate for many applications, the Multicore version (available in most supported languages) allows self-contained subsystems, each with its own Facade, Model, View, Controller, and attendant actors. This is really useful when many teams are contributing to the application. Scalability: Infinite.

Conceptual Diagram

Literally,the 50,000 foot view of PureMVC. Created by the architect on a cross-country plane ride while returning home from a client, this diagram not only gives you a visual representation of the actors and their roles, responsibilities, and collaboration patterns, but it would also look nice as a lower-back tattoo.

  • PureMVC Conceptual Diagram

    Cliff HallRead PDF

Framework Overview

This document goes into a bit more detail, using UML to show the class relationships and interface methods.

  • PureMVC Framework Overview

    Cliff HallRead PDF

Implementation Idioms and Best Practices

An in-depth document written by the architect, describing the best practices for use of PureMVC in your applications. While the examples are in ActionScript 3 and Flex, the narrative focuses on delivering a platform-neutral view of the framework. Translated by the community into five languages beyond the original English.

  • IIBP Chinese

    Zhang Ze Yuan and Zhong Xiao ChuaRead PDF

  • IIBP English

    Cliff HallRead PDF

  • IIBP French

    Eric La RoccaRead PDF

  • IIBP German

    Jens KrauseRead PDF

  • IIBP Russian

    Denis Sheremetov, et alRead PDF

  • IIBP Spanish

    Cristian Daniel Garay SosaRead PDF

The O'Reilly Book

The Developer's Guide offers advanced techniques and knowledge gleaned from years of community discussion since the IIBP was written. Takes a different approach from the simple demos in the GitHub repositories and the unconnected code fragments in IIBP. Pieces of a non-trivial application are built as each section visits various concerns within its architecture. Examples are in ActionScript 3 and Flex, but the narrative focuses on delivering a platform-neutral view of the framework.

  • Actionscript Developer's Guide to PureMVC

    Cliff HallBuy Book

Join and learn from the community

In the years since PureMVC was released, the vibrant community that sprang up around it has ported it, written demos and utilities for it, built impressive real-world applications with it, and discussed nearly every architectural issue you might run into. Learn from their examples, and connect with other developers and companies who use PureMVC.

PureMVC is available under the BSD 3-Clause Open Source License.

(0)

相关推荐

  • 对MVC、MVP、MVVM的理解(一)

    一.MVC MVC模式再网上的争议是最大的,一些博客中是这样描述的 MVC模式的通信是单向的,View触发事件或数据的提交,到了Controller进行处理逻辑之后,返回Model给View,View ...

  • 简单概述 .NET Framework 各版本区别

    dotNET跨平台 今天 以下文章来源于UP技术控 ,作者conan5566 UP技术控不止IT 还有生活 目前已发行的版本有1.0.1.1.2.0.3.0.3.5.4.0.4.5(及4.5.1.4. ...

  • Microsoft宣布将停止支持多个 .NET Framework版本

    dotNET跨平台 今天 Microsoft 宣布,使用传统的.不安全的安全哈希算法1(SHA-1)签名的多个 .NET 框架版本将在明年停止支持. 据 .NET 首席工程经理 Jamshed Dam ...

  • Dism 离线安装.NET Framework 3.5教程

    .NET Framework 3.5是许多应用程序赖以运行的基础环境框架,可谓是Windows系统必装组件,可是有许多用户却遇到错误提示"Windows无法完成请求的更改.参数错误.错误代码 ...

  • 手动添加 Framework

    如何手动添加 Lookin 的 iOS Framework ? 打开 Lookin 客户端,点击"帮助"-"在 Finder 中显示 Lookin Framework 文 ...

  • .NET6 平台:.NET Framework发展历程

    DotNet 自1995年互联网战略日以来最雄心勃勃的事业 -- 微软.NET战略, 2000年6月30日. 微软公司于2002年2月13日正式推出第一代.NET平台 .NET Framewrok 1 ...

  • .NET 6 平台系列1 .NET Framework发展历程

    张传宁 dotNET跨平台 今天 自1995年互联网战略日以来最雄心勃勃的事业 -- 微软.NET战略, 2000年6月30日. 微软公司于2002年2月13日正式推出第一代.NET平台 .NET F ...

  • Entity Framework发布到IIS报错

    参考资料:https://www.cnblogs.com/mrma/p/5404584.html 报错信息 The Entity Framework provider type 'System.Dat ...

  • 《Entity Framework 实用精要》 - 学习笔记

    <Entity Framework 实用精要> ========== ========== ========== [作者] (中) 吕高旭 [出版] 清华大学出版社 [版次] 2018年0 ...

  • .NET Framework、.NET Core 和 .NET 5+ 的产品生命周期

    2020 年 11 月 11 日更新:.NET 5 正式发布. 本文整理记录了 .NET Framework..NET Core 和 .NET 各个版本的产品支持周期和操作系统兼容性. 早于 .NET ...