写点什么

用于 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:47503
用户头像

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

关注

评论

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

Python案例分析|21点扑克牌游戏 | 社区征文

TiAmo

Python 数据分析 年中技术盘点 21点扑克游戏

选择香港云主机,让您的网站在全球范围内高速运行

一只扑棱蛾子

香港云主机

最强优化指令大全 | 【Linux技术专题】「系统性能调优实战」终极关注应用系统性能调优及原理剖析(下册)

洛神灬殇

Java Linux 性能优化 JVM GC

人工智能促进知识的公平获取

澳鹏Appen

人工智能 翻译 nlp 数据标注 小语种

详解共识算法的Raft算法模拟数

华为云开发者联盟

人工智能 华为云 华为云开发者联盟 企业号 7 月 PK 榜

为了快一点,所以我慢一点

树上有只程序猿

华为云河图KooMap 共筑数字孪生底座 共建产业标杆

华为云开发者联盟

华为云 华为云开发者联盟 企业号 7 月 PK 榜

多端低代码开发平台魔笔:教你1小时搭建代办事项管理平台

移动研发平台EMAS

低代码开发 多端开发 降本增效 阿里云魔笔

IDC&用友联合发布《建设数字中国升级数智底座-企业数智化底座白皮书》

用友BIP

白皮书 数智底座

荣登榜首!云起无垠领榜“CCIA潜力之星”

云起无垠

软件测试/测试开发丨面向对象编程学习笔记分享

测试人

Python 面向对象 软件测试

传统软件开发和低代码开发的区别

高端章鱼哥

软件开发 低代码开发 JNPF 传统开发

智能化新服务即将惊艳亮相HDC2023 ——华为云Astro爆发低代码能量

华为云PaaS服务小智

云计算 低代码 华为云 华为开发者大会2023

和鲸 × 于峻川丨以遥感领域为例,浅谈 AI for Science 科研范式改革

ModelWhale

人工智能 算力 遥感 AI for Science 协同科研

使用Flutter开发微信小程序:构建简单的天气预报小程序

Onegun

flutter 小程序容器

得物社区推荐精排模型演进

得物技术

推荐系统 排序 算法、

刻意练习:从新手到专家

老张

提升能力 刻意练习

强化学习实践:Policy Gradient-Cart pole游戏展示

华为云开发者联盟

人工智能 华为云 华为云开发者联盟 企业号 7 月 PK 榜

《面向分布式云的直播及点播云技术创新方案》获中国信通院“分布式云技术创新先锋案例”

阿里云CloudImagine

云计算 视频云 信通院

中国信通院联合腾讯安全发布《数据安全治理与实践白皮书》

Geek_2d6073

请把这6个效率神器给我焊在电脑上

伤感汤姆布利柏

化亿级海量于秒级瞬间:大表关联计算提速

鲸品堂

sql 数据分析 数据分析工具 企业号 7 月 PK 榜

基于Surprise协同过滤实现短视频推荐

北桥苏

推荐系统 协同过滤 Surprise

构建松耦合和高内聚的软件系统:重要性和实践原则

2756

高内聚 架构设计原则 #微服务

JMeter 并发压力测试指南:从设置到结果分析

Liam

Jmeter 性能测试 接口测试 API 测试工具

聊聊照片类数据中的显水印和隐水印

冯骐

隐私保护 数据安全 数据服务 水印

etcd原理详解

快乐非自愿限量之名

架构 etcd

行云管家堡垒机和传统堡垒机的区别简单讲解

行云管家

网络安全 IT 堡垒机 IT运维

天津企业采购堡垒机选择哪个厂家好?咨询电话多少?

行云管家

网络安全 信息安全 等级保护 天津

数仓性能调优:大宽表关联MERGE性能优化

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号 7 月 PK 榜

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