`
逆风的香1314
  • 浏览: 1470066 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

用于Altair Lunar Lander的GEMVC ActionScript框架

阅读更多

作者 Moxie Zhang 译者 张龙

GEMVC ActionScript 框架在Johnson Space Center的Altair Lunar Lander项目中被用来开发Flex应用。Christopher Dean是一位解决方案架构师,他创建了GEMVC,同时他还是Altair Lunar Lander项目的可扩展信息模型(XIM)程序的首席科学家。InfoQ采访了Dean以深入了解GEMVC。

根据Dean所述,GEMVC是一套支持模型——视图——控制器(MVC)模式的ActionScript类。但它并不强制要求你使用其全部,你可 以选取你想用的那部分来用。它由一个模型及一个控制器框架构成,同时还有一个服务/网关层。视图就是Flex MXML文件本身。

当被问到为何没有使用现有的某个框架时,Dean说到:

在创建好自己的服务层后,我对Adobe Labs的Cairngorm进行了调研。我真的不想改变它,因为我喜欢它的工作方式,这样我就决定围绕它来开发一个MVC框架。此外,我对 Cairngorm只有一个主控制器并且所有东西都需要通过单例来访问的方式不太满意,因为这样只允许存在唯一一个模型及控制器。我要对我的代码进行模块 化,这样就可以有单独的控制器来处理应用的不同部分了。理论上每个Flex组件都可以拥有自己的控制器。最后,这只是一个风格上的问题。

Dean解释了GEMVC与现有的一些框架如Cairngorm之间的一些主要差异:

GEMVC框架使用的是Flex的分发机制而不是自己的。我喜欢这样,因为我们可以用混合的方式来执行事件。在 Cairngorm中,所有的改变都必须通过模型实现。在大多数情况下这没什么问题。然而有时由于事件的发生,你想对应用进行控制,这甚至可能需要调用现 有组件的ActionScript方法。借助于GEMVC,你可以轻松完成这件事而无需知晓组件的路径所在。你只要知道处理该事件的组件的标识符即可。

Dean说到,除了上面提到的Altair Lunar Lander程序外,GEMVC还被用在Astromaterials Research和Exploration Science Directorate的Stardust项目中。该程序管理着星团探测器所返回的所有样品。

关于未来,Dean说到:

关于未来,在riaforge博客上已经有不少人提出了自己的观点,但我想说的是对于GEMVC来说,有三个东西马上就要到来了。
  1. 在服务层支持生产者,消费者功能。该功能已经完成了,其发布包随时都可以更新。 
  2. 支持使用MXML标签在MXML文件中指定控制器来代替单独的ActionScript文件。这是一个风格上的问题,因为相对于ActionScript,有些人更喜欢用MXML。
  3. 分 等级控制器的改进。当前尚没有一种方法可以做到让某个组件控制器处理部分事件,然后再将其传播到更高层的控制器做进一步的处理。在XIM项目中已经提出了 对此的解决方案,虽然只是一些处理技巧,但确实做的很漂亮。我们也已经对让控制器自己来处理事件而不是由事件本身处理进行了讨论。

查看英文原文:GEMVC ActionScript Framework used in Altair Lunar Lander

分享到:
评论

相关推荐

    altair_matplotlib:用于Altair的Matplotlib渲染器

    Altair-Matplotlib 这是一个尚在进行中的工作,还远远没有完成,它是针对旧版本的Altair编写的。 请不要使用此程序包。 用于Altair / Vega-Lite图的Matplotlib渲染器。

    Altair 8800操作指南

    Altair 8800是微机时代的先驱,由MITS(Micro Instrumentation and Telemetry Systems)公司在1975年推出。这台计算机以其经济性和可组装性开创了个人计算机的新纪元。Altair 8800的核心是Intel 8080微处理器,这是...

    Altair8800-IOBus:用于Altair 8800 Simulator的IO总线和卡

    用于Altair 8800模拟器的I / O总线 在考虑将更多硬件连接到我意识到驱动DATA和ADDRESS LED的信号以及一些控制信号(INP,OUT,WAIT)可用于形成简单但有效的I / O巴士。 这样的总线可以与原始S-100总线非常相似地...

    Altair_Feko_User_Guide.pdf

    此外,Altair还提供了多种专业应用软件,如Flux用于磁路和电磁场的模拟,HyperCrash用于碰撞分析,HyperGraph用于数据可视化,HyperLife针对疲劳寿命分析,HyperMesh是强大的前处理工具,HyperStudy用于多学科优化,...

    Python-AltairWidgets是一个工具能够很容易地与Altair图形进行交互在Jupyter笔记本中

    AltairWidgets是Python数据可视化库Altair的一个扩展,专门设计用于增强Jupyter Notebook中的交互式体验。这个库的出现使得用户能够与Altair创建的静态图表进行更深度的交互,从而提升数据分析和探索的效率。在...

    Python-nxaltair用Altair绘制NetworkX图

    NetworkX是一个强大的Python包,专门用于创建、操作和研究复杂网络的结构、动态和功能。它提供了丰富的数据结构来表示图形,包括加权和无向图、有向图以及多对多关系图。通过NetworkX,你可以轻松地添加节点、连接边...

    Altair 8800模拟器

    Altair 8800模拟器是一款用于重现历史的软件工具,它允许用户在现代计算机上体验基于Intel 8080微处理器的第一代个人电脑——Altair 8800。这款模拟器是对计算机历史爱好者的一个宝贵资源,因为它不仅提供了对过去...

    Altair用户论文

    Altair是一家全球领先的工程软件公司,其产品广泛应用于模拟、优化、可视化以及数据分析等领域。本文将根据提供的压缩包文件信息,深入探讨Altair的核心技术,包括前后处理技术、结构与多学科优化技术、多体动力学...

    Altair-80C31Tiny

    - **功能与应用**:Altair-80C31Tiny 微型计算机主要用于教育和研究领域,特别适合于学习单片机的基本原理、电路设计和软件编程。它能够帮助学生和工程师深入了解单片机的工作机制,并通过实践来提高解决问题的能力...

    PyPI 官网下载 | altair-4.0.0.tar.gz

    在分布式计算环境中,Altair 可能与其他数据处理框架如 Dask、Spark 集成,实现高效的数据可视化。而在云原生环境下,Altair 可以轻松地部署到 Kubernetes 等容器编排系统上,为云应用提供数据可视化服务。 至于 ...

    altair-setup-1.8.0.exe

    graphql 的 客户端 altair-setup-1.8.0.exe。

    Altair中文培训HyperWorks10.0

    ### Altair及其HyperWorks 10.0概述 #### Altair公司简介 Altair Engineering, Inc.成立于1985年,是一家世界领先的工程技术开发商,专注于为企业、研究机构、高等院校及政府组织提供一系列用于分析、优化、信息...

    Altair_Activate_2021.1.0_Build_6595x64.z02

    该程序结合了Altair Activate, Compose和Embed的力量,每个都有自己独特的目的和功能,如Altair Activate为工程师和用户提供了所有的工具,以快速地建模和模拟他们的产品。类似地,Altair Compose允许用户为复杂的...

    altair hyperworks 2017.2 suite ,13Gb破解版

    altair hyperworks 2017.2 suite ,13Gb破解版 altair hyperworks 2017.2 suite ,13Gb破解版

    Python可视化库Altair.zip

    Altair 是 Python 高级声明式可视化库。Altair 提供一个 Python API 在声明式 manner 中构建静态统计可视化库。这个 Python API 没有实际的可视化渲染代码,但是会发出 JSON 数据。 标签:Altair

    Altair产品介绍——Altair HyperForm.pdf

    Altair产品介绍——Altair HyperForm.pdf

    altair_notebooks:教程和示例适用于Altair的Jupyter笔记本

    该存储库包含用于Altair的教程和示例Jupyter Notebook。 您可以在GitHub上浏览这些笔记本的静态版本,或单击下面的标志之一在或上运行这些笔记本。 例子 这是一个使用Altair在JupyterLab中使用本地Vega-Lite渲染器...

    altair_viewer-master.zip

    Altair Viewer 是一个用于展示和探索 Altair 数据可视化图表的项目。这个压缩包"altair_viewer-master.zip"包含了该项目的源代码和相关资源,可能是为了方便用户下载并进行本地安装和自定义。Altair 是一个基于 Vega...

    altair-graphql-client.zip

    Altair GraphQL Client. chrome-extension://kojgjbihgpacofgemfjjjdalddloeaod/index.html Enter your graphQL query 请求工具

    altair:用于Python的声明性统计可视化库

    Altair是用于Python的声明性统计可视化库。 使用Altair,您可以花费更多时间来理解数据及其含义。 Altair的API简单,友好且一致,并基于强大的 JSON规范构建。 这种优雅的简单性用最少的代码即可产生美观,有效的...

Global site tag (gtag.js) - Google Analytics