免费下载案例集|20+数字化领先企业人才培养实践经验 了解详情
写点什么

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

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

关注

评论

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

如何写好大模型提示词?来自大赛冠军的经验分享(基础篇)

Baihai IDP

人工智能 AI LLM Prompt Prompt Engineering

【第七在线】服装企业对于智能商品计划系统的误区有哪些?

第七在线

重磅!参编我国首个图计算平台标准 引领图数据库行业新机遇

百度安全

大白话—70个你必须知道的AI重要概念(二)

Geek_2305a8

大白话—70个你必须知道的AI重要概念(三)

Geek_2305a8

移动应用崛起新契机—超级app+轻应用!

Geek_2305a8

掌握测试管理的能力图谱:方法论、技术与资源管理全解析

测吧(北京)科技有限公司

测试

GreptimeDB v0.6 发布 | 支持 Datanodes 间迁移数据表 Region

Greptime 格睿科技

数据库 时序数据库 版本发布

记一次go应用在k8s pod已用内存告警不准确分析

EquatorCoco

Kubernetes go语言

《机器人流程自动化能力评估体系 第1部分:系统和工具》行标发布

王吉伟频道

RPA 机器人流程自动化 信通院 超自动化 行业标准

即时通讯技术文集(第32期):IM开发综合技术合集(Part5) [共12篇]

JackJiang

网络编程 即时通讯 IM

IntelliJ IDEA安装教程

小魏写代码

操作系统寒武纪 :鸿蒙来了企业IT高兴吗?

FN0

鸿蒙 操作系统 HarmonyOS

又一大模型技术开源!有道自研RAG引擎QAnything正式开放下载

有道技术团队

管理型人格特质揭秘:适合测试管理的人应具备何种素质

测吧(北京)科技有限公司

测试

使用API接口获取拼多多商品详情

Noah

面试官:分库分表后如何生成全局ID?

王磊

Java 面试

类似 Microsoft Project 的12款在线项目管理工具

爱吃小舅的鱼

项目管理 项目经理 项目管理工具

千万级数据深分页查询SQL性能优化实践

京东科技开发者

基于企业级SaaS低代码平台的协同制造产品解决方案

万界星空科技

低代码 MES系统 低代码开发 万界星空科技 低代码云MES

鸿蒙HarmonyOS实战-ArkTS语言(基本语法)

不在线第一只蜗牛

HarmonyOS 鸿蒙开发 HarmonyOS框架

ERP对接MES的3种类型的接口

万界星空科技

低代码 MES系统 系统集成 万界星空科技 系统对接

测试管理的核心知识点:岗位与职责全面解析

测吧(北京)科技有限公司

测试

只需三步,开发文心一言应用帮你建立情感纽带!

飞桨PaddlePaddle

人工智能 深度学习 #飞桨# 飞桨AI

如何提升时序数据多表低频场景的写入性能?一文详解

TDengine

tdengine 时序数据库

为什么要将应用微服务化?

伤感汤姆布利柏

程序员 微服务 低代码 架构师 JNPF

使用 Taro 开发鸿蒙原生应用 —— 快速上手,鸿蒙应用开发指南

京东科技开发者

MES生产执行系统在生产车间的主要作用

万界星空科技

工业互联网 MES系统 生产管理系统 mes 数字化车间

每日一题:LeetCode-209. 长度最小的子数组

Geek_4z9ami

算法 LeetCode 二分查找 前缀和 滑动窗口

测试管理者的晋升秘籍:稳步提升职业地位的关键步骤

测吧(北京)科技有限公司

测试

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