`
ch_kexin
  • 浏览: 906578 次
  • 性别: Icon_minigender_2
  • 来自: 青岛
社区版块
存档分类
最新评论

PureMVC小小理解

阅读更多
引用

Command,Command,Command!连叫三声“Command”,希望可以引起大家的注意。因为Command的使用,在很大程度上反映着你对pureMVC框架的理解,甚至是对MVC模式的理解深度。在pureMVC框架中,各部分通讯是用Notification消息,Proxy可以给 Command和Mediator发消息,Command可以给Command和Mediator发消息,Mediator可以给Command和 Mediator发消息,怎么样?你现在是不是点晕了,这是正常的,其实我也有点晕!当你代码写到一定规模后,你会更晕。其实pureMVC框架这么设计本来是为了让MVC各部分尽量脱耦,但这带来一个负面情况就是消息发送与接收机制设计的太灵活了,灵活对小项目是好事,但对大项目来说,往往意味着混乱,甚至会导致灾难。那怎么办呢?只能靠我们的自觉性自我约束,简化架构思想了。根据《pureMVC最佳实践》中的建议,我的做法是这样的,尽量使用 Command,让Command成为Mediator与Proxy之间通讯的唯一桥梁,Mediator和Proxy中发出的 Notification,接收者一定是某个Command,然后再由Command处理并将结果转发给真正的消息接收者,Command就算仅仅起一个转发作用,仅仅有不到10行代码,也要创建一个Command类。这样不仅使你的架构更加清晰,而且也更符合MVC思想,Command类的大量存在还使你架构的业务逻辑具有了更好的封装性和扩展性,可谓是一箭三雕,何乐而不为?唯一的负面影响可能是你需要创建和维护更多的Command类文件,但相对于优势而言,这点影响不算啥。


分享到:
评论

相关推荐

    PureMVC 中文版

    标题 "PureMVC 中文版" 指的是 PureMVC 框架的一个中文版本,这是一款广泛应用的开源框架,特别设计用于构建富互联网应用程序(RIA),尤其是基于Adobe Flex和ActionScript 3的项目。PureMVC 提供了一种模块化、结构...

    可以运行的puremvc的登陆实例.

    通过学习这个实例,开发者可以更好地理解PureMVC框架的工作原理,以及如何在实际项目中应用它来组织代码和实现业务逻辑。这对于提升ActionScript或Flex开发者的技能和提高代码复用性非常有帮助。

    Lua实现PureMVC

    这个是一个根据AS3(ActionScript 3) pureMVC而转换过来的lua pureMVC。所有的接口完全跟AS3版本一致。 若是想使用,可以直接查看网上的pureMVC 文档,我并未对任何一个函数改名或者更换参数位置。 注意,这个PureMVC...

    PureMVC_CSharp.zip_csharp_pureMVC_pureMVC C_pureMVC C#_疯铮铮

    "表示这不仅仅是一个概念介绍,还提供了实际的代码示例,学习者可以直接查看和运行这些源代码,加深对PureMVC的理解。 标签进一步细化了主题,"csharp"指明是C#语言相关,"puremvc"是框架的名字,"puremvc_c"和...

    PureMVC总结(附Hello World含PureMVC源码代码和文档)

    8. **文档阅读指南**:如何理解和使用提供的PureMVC官方文档,以获取更多关于框架的信息。 通过学习PureMVC,开发者可以获得一种统一的开发流程,提高代码的可读性和可维护性,同时降低项目的复杂度。在实际项目中...

    基于PureMVC框架实现的Qt的一个例子

    通过阅读和分析PureMVC_Qt_example中的代码,你可以深入理解如何在C++环境中运用PureMVC,从而提升自己的软件开发技能。此外,还可以尝试扩展这个例子,添加更多功能,以加深对PureMVC和Qt集成的理解。

    PureMvc实例 PureMvc第一个实例

    在这个名为"MyFirstPureMvc"的压缩包中,你将找到一个使用PureMvc开发的Adobe AIR项目的完整实例,这将帮助初学者理解如何在实际项目中应用PureMvc。 首先,让我们深入了解一下PureMvc的MVC架构: 1. **模型...

    pureMVC资料包

    本资料包包含了关于PureMVC的SWC库文件和PDF文档,可以帮助开发者更好地理解和应用PureMVC框架。 首先,PureMVC的核心概念是其MVC模式。模型(Model)负责管理应用程序的数据,视图(View)负责显示数据,而控制器...

    PureMVC五子棋游戏源码,学习PureMVC

    《深入理解PureMVC:基于五子棋游戏的源码分析》 PureMVC是一个流行的、开源的、轻量级的、跨平台的MVC框架,它为开发人员提供了一种结构化的编程模式,用于组织和管理应用程序的业务逻辑、用户界面和数据。在这个...

    pureMVC_AS3

    **纯MVC(PureMVC)AS3版详解** PureMVC是一款轻量级的框架,主要用于实现Model-View-Controller...通过理解和实践PureMVC AS3,开发者能够构建出高效、模块化的ActionScript 3应用程序,提高代码质量和可维护性。

    PureMVC.rar

    首先,我们来深入理解PureMVC的核心概念和架构: 1. **模型(Model)**:模型层负责应用程序的数据管理。在PureMVC中,模型由`Proxy`类表示,它们存储和处理数据,同时提供对数据的访问接口。当数据发生变化时,...

    Unity 专用 pureMVC

    通过理解并熟练运用PureMVC的各个组成部分,开发者可以更高效地组织代码,实现UI和逻辑的分离,从而专注于创造引人入胜的游戏体验。在压缩包中的PureMVC文件,包含了实现这一框架的源代码,供开发者学习和使用。

    一个很好的puremvc实例

    1. `.actionScriptProperties` 和 `.flexProperties` 文件通常包含项目特定的配置信息,如ActionScript版本、编译器设置等,它们对于理解和运行此PureMVC实例至关重要。 2. `.project` 文件是Eclipse或Flash Builder...

    pureMVC源代码

    在你提供的压缩包中,"PureMvcDemo"可能是一个包含PureMVC框架示例应用的文件夹,用于帮助开发者理解如何在实际项目中使用PureMVC。 **纯MVC框架的核心概念** 1. **模型(Model)**:模型层负责处理应用程序的数据...

    PureMVC 各种例子以及中文文档

    标题中提到的"PureMVC各种例子"是指PureMVC框架提供的一系列示例项目,这些例子可以帮助开发者快速理解如何在实际项目中应用PureMVC。通过这些实例,你可以学习到如何组织和协调模型、视图和控制器组件,以及如何...

    [转]pureMVC简单示例及其原理讲解

    这篇博客文章通过一个简单的示例,帮助读者理解PureMVC的基本结构和工作原理。 【描述】虽然描述为空,但可以推测博主Jorny Guo在文章中可能详细介绍了如何创建一个PureMVC项目,从创建模型、视图到控制器的各个...

    PureMVC C#框架

    在"puremvc-csharp-standard-framework-master"这个压缩包中,你将找到PureMVC C#标准版的源代码,包括实现MVC模式的各种接口和类,以及示例应用,这些都是理解和使用PureMVC框架的关键资源。通过深入研究这些文件,...

    PureMVC_study

    通过深入学习和实践PureMVC,开发者能够更好地理解和掌握MVC模式,提高代码质量,同时也能更高效地进行团队协作,降低维护成本。PureMVC_Study这个压缩包文件可能是对PureMVC框架的实例演示或者学习资料,可以帮助...

    qt版本pureMVC

    Qt版本的PureMVC是一个基于设计模式的框架,主要用于构建可维护性和可扩展性极高的应用程序。这个框架的实现是将经典的MVC(Model-View-Controller)模式应用于Qt编程环境,为Qt开发者提供了一种结构化的方法来组织...

    PureMVC中文教程

    标题中的“PureMVC中文教程”表明这是一份关于PureMVC框架的中文学习资料,主要面向想要理解和掌握这一框架的开发者。PureMVC是一个开源的、轻量级的、跨平台的MVC(Model-View-Controller)设计模式框架,它提供了...

Global site tag (gtag.js) - Google Analytics