写点什么

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

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

关注

评论

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

“数字创新产品课程” 8月2-3日 · CSPO认证上海线下面授周末班【和A-CSPO打包报名享特惠】

ShineScrum

产品负责人 CSPO认证 CSPO

可私有化部署的企业内部即时通讯聊天软件 ——BeeWorks 免费版上线

BeeWorks

即时通讯 IM 私有化部署

MyEMS能源管理系统后台配置-能源费率管理

开源能源管理系统

开源 能源管理

亚马逊云科技中国峰会:数新智能CTO原攀峰详解一站式AI原生数智平台DataCyber在Amazon EKS的实践

数新网络官方账号

嘉为蓝鲸IT服务管理中心ITSM解决方案:多项殊荣实力彰显,融合创新重塑IT服务管理生态

嘉为蓝鲸

AIOPS ITSM 智能运维 IT服务管理中心

为了白嫖 https 的图床, 顺手写了个 Picgo 的插件

Avan

Hexo PicGo 博客搭建 Obsidian

MyEMS能源管理系统后台配置-成本中心管理

开源能源管理系统

开源 能源管理 开源能源管理系统

AI 词汇记忆 App 的开发

北京木奇移动技术有限公司

软件外包公司 AI英语学习 AI英语教育

淘宝API系列:淘宝商品优惠信息API接口详解

tbapi

淘宝API接口 天猫API接口 淘宝商品优惠券接口 天猫商品优惠券接口

汇金资损防控体系建设及实践 | 得物技术

得物技术

人工智能

【清源SCA社区版】正式上线!|深度解析:从功能架构到技术实践的全维度指南

安势信息

开源 代码检测 情源SCA 清源SCA社区版

Java原生交易所全套开发

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 公链开发 代币开发

MyEMS能源管理系统后台配置-能源分类管理

开源能源管理系统

开源 能源管理

企业数字化转型《求生手册》:教你如何有效进行转型以及如何避坑

优秀

数字化转型 数字化 企业数字化转型

淘宝API系列:淘宝店铺所有商品API接口详解

tbapi

淘宝API 天猫API 天猫店铺所有商品接口 淘宝店铺所有商品接口

DApp 开发的安全审计

北京木奇移动技术有限公司

区块链技术开发 dapp开发 软件外包公司

非凸科技荣获“2025中国金融科技竞争力百强企业”

非凸科技

智能指标AIMetrics赋能:构建一体化数据智能决策中枢

袋鼠云数栈

数据 数据治理 大数据平台 数据管理 数据库 大数据

腾讯云与微盟启动“私域安全护航计划”,共筑数字商业安全新防线

人称T客

Spring Boot 插件化开发模式,即插即用

Geek_e3e86e

Java 编程

三角偶极子天线(上)---MIMO系统, 包络相关系数ECC和分集增益DG

思茂信息

电磁 MIMO CST Studio Suite

云上AI推理平台全掌握 (1): PAI-EAS LLM服务一键压测

阿里云大数据AI技术

人工智能 大数据 模型 推理 压测数据

AI 技术赋能英语口语 App 开发

北京木奇移动技术有限公司

软件外包公司 AI英语学习 AI技术应用

2025智慧矿山高质量发展大会暨内蒙古矿业博览会定于10月10日开幕

科技汇

javascript中IIFE(立即执行函数表达式)到底是咋来的?

电子尖叫食人鱼

JavaScript

远程玩3A大作要多少帧?ToDesk、向日葵、UU远程性能对决

小喵子

游戏 向日葵 远程桌面 ToDesk

信创国产化,可私有化部署的企业内部即时通讯聊天软件

BeeWorks

即时通讯 IM 私有化部署

链游开发:在区块链浪潮中构建虚拟世界

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 公链开发 公链开发代币开发

DApp 开发:开启去中心化应用新时代

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 公链开发 代币开发

为什么说方法的参数最好不要超过4个?

秃头小帅oi

看负载、调资源、控进度!用资源日历掌控全员进度

禅道项目管理

项目管理 企业管理 进度管理 禅道项目管理软件

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