HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

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

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

关注

评论

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

二本的他是如何在12天面试突击中,拿到阿里P7的offer

Java架构师迁哥

详解什么是JMM!

愚者

JMM

体验设计也可以很简单。只要释放出一些善意就可以了。

石云升

用户体验 7月日更 体验设计

百度智能云在视频云解决方案市场位居前三!

百度大脑

云计算 云服务 IDC

博睿数据把脉“体验经济”,以“上帝”视角解决业务运营挑战

博睿数据

有了 NGINX 和 Kong,为什么还需要 Apache APISIX?

API7.ai 技术团队

网关 kong ngnix APISIX

ONES Performance 研发效能管理解决方案

万事ONES

研发效能 解决方案 ONES

模块3.架构设计

Geek_ywh40v

springboot自动装配源码解析

偏执

面试 后端 spring Boot Starter

底层即真理!Netty+Redis+ZooKeeper解读高并发系统架构!

Java架构追梦

Java redis zookeeper 架构 架构编程

单机12万QPS——FunTester复仇记

FunTester

性能测试 接口测试 测试框架 压力测试 测试开发

三分钟评估 你的CMDB是“磐石”还是“豆腐渣”

鹿小U

DevOps 运维自动化 CMDB IT运维

Java版人脸检测详解下篇:开发java应用并做成docker镜像同步

编程菌

Java 编程 程序员 技术 技术栈

什么是JVM?深入解析JVM原理!

愚者

Java JVM

从零开始学习3D可视化之项目部署

ThingJS数字孪生引擎

大前端 数据 可视化 数字孪生

Spring Boot基础学习

偏执

面试 后端 spring Boot Starter

智能获客黑科技系统开发搭建

用了七个步骤,4面通过拿offer,终“跳进”字节跳动

Java 编程 程序员 架构 面试

拼多多 +蚂蚁金服 +头条(已拿offer),面试真题分享!

Java 程序员 架构 面试 计算机

博睿数据携数据链DNA理念亮相山东 助力金融行业数字化转型

博睿数据

数据链DNA:可观测助力云原生时代服务可达

博睿数据

模块三作业

Geek_35a345

双因子认证是什么意思?有什么作用?

行云管家

信息安全 双因子认证

现在双非本科的学历还有机会拿到大厂 offer 吗?

java小李

面试 spring Boot Starter

洗清杂念 辟除妄见 归于自然|靠谱点评

无量靠谱

博睿作为AIOps代表厂商入选《2021年中国ICT技术成熟度曲线报告》

博睿数据

持续演进的云原生应用交付

CODING DevOps

DevOps 云原生 k8s 研发工具 交付工具

fil是怎么挖的?Fil矿机有什么配置要求?

区块链 IPFS fil fil矿机 fil矿机配置

为什么在线自习室这么受年轻人的追捧?

anyRTC开发者

音视频 WebRTC 在线教育 在线自习室 实时直播

快手技术大咖分享“领域数据建设”实践经验

Geek老T

大数据 数据治理

抖音快手获客系统开发公司

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