写点什么

用于 Altair Lunar Lander 的 GEMVC ActionScript 框架

  • 2008-12-10
  • 本文字数:1142 字

    阅读完需:约 4 分钟

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

2008-12-10 04:47589
用户头像

发布了 88 篇内容, 共 271.0 次阅读, 收获喜欢 9 次。

关注

评论

发布
暂无评论
发现更多内容

VMware Workstation 17.6.4 Pro for Windows & Linux - 领先的免费桌面虚拟化软件

sysin

Workstation

时序数据库 TimechoDB V2.0.5 发布 | 新增树转表视图、模型微调等功能

Apache IoTDB

招商管理系统(源码+文档+讲解+演示)

深圳亥时科技

产品更新丨谷云科技 iPaaS 集成平台 V7.6 版本发布

谷云科技RestCloud

API网关 产品更新 集成平台 ipaas

微软发布安全公告2887505:IE远程代码执行漏洞分析与缓解方案

qife122

网络安全 浏览器安全

Cyble连续第二年被评为样本供应商

财见

线上活动丨AI 语音客服:最先跑通的 Voice Agent 场景,在面临什么真问题?丨 RTE Meetup

声网

VMware Fusion 13.6.4 for Mac - 领先的免费桌面虚拟化软件

sysin

fusion

更新Mac软件有哪些方法 Mac软件如何管理待更新软件

阿拉灯神丁

appstore 应用程序 Mac软件 卸载清理软件 CleanMyMac X中文

中烟创新入选2025全国企业“人工智能+”行动创新案例TOP100

中烟创新

Nacos 开源 MCP Router,加速 MCP 私有化部署

阿里巴巴云原生

阿里云 云原生 nacos MCP

埋点采集之曝光

神策技术社区

埋点 曝光埋点 大数据分析

VMware ESXi 9.0.0.0100 发布 - 领先的裸机 Hypervisor

sysin

esxi

Console 纳管 Elasticsearch 9(二):日志监控

极限实验室

elasticsearch console

Mistral 开源首个音频模型 Voxtral:转录+音频理解;语音转写工具 Willow 筹资 420 万美元丨日报

声网

7月17日 2025可信数据库发展大会 邀您共探GenAI时代对数据库的挑战与需求

MatrixOrigin

使用 SeaTunnel 建立从 MySQL 到 Databend 的数据同步管道

Databend

Golang基础笔记十二之defer、panic、error

Hunter熊

golang 后端 defer panic Error

2015年9月微软安全更新汇总 - MS15-094至MS15-105漏洞修复

qife122

安全更新 Windows安全

酷开携AI智能体亮相ATC,重塑人车交互新范式

业界

Apache RocketMQ + “太乙” = 开源贡献新体验

阿里巴巴云原生

阿里云 云原生 Apache RocketMQ

Vue3响应式编程三剑客:计算属性、方法与侦听器深度实战指南

量贩潮汐·WholesaleTide

Vue 前端

隐藏Bash历史记录:实用技巧与最佳方法

qife122

Linux 安全

VMware Tools 12.5.3 发布 - 客户机操作系统无缝交互必备组件

sysin

vmware

VMware ESXi 7.0 U3w 发布 - 领先的裸机 Hypervisor

sysin

esxi

VMware ESXi 8.0U3f 发布 - 领先的裸机 Hypervisor

sysin

esxi

资源利用率提升50%:Serverless 驱动国诚投顾打造智能投顾新范式

阿里巴巴云原生

阿里云 Serverless 云原生

VMware Tools 13.0.1.0 发布 - 客户机操作系统无缝交互必备组件

sysin

vmware

VMware ESXi 8.0U2e 发布 - 领先的裸机 Hypervisor

sysin

esxi

枫清科技参编的《人工智能知识工程指南(1.0)》发布

Fabarta

人工智能

云测试提前定位和解决问题 萤火故事屋 上架流程

万少

HarmonyOS NEXT

用于Altair Lunar Lander的GEMVC ActionScript框架_Java_Moxie Zhang_InfoQ精选文章