AI实践哪家强?来 AICon, 解锁技术前沿,探寻产业新机! 了解详情
写点什么

案例研究:在 Flex 中应用 Java 编程技巧

  • 2008-01-27
  • 本文字数:871 字

    阅读完需:约 3 分钟

Bill Bejeck 在 Adobe Flex 开发者中心发表了一篇文章,分享了他从一个Java 开发者的角度来创建组件和实施分离Flex 中关注点的经验。

Bejeck 开始使用 Flex 的第一印象是:

作为一名 Java 开发者,我对 ActionScript 3.0 是如此熟悉感到惊讶,这使得学习曲线非常平滑。当我开始使用 Flex 的时候,我可以使用绝大多数(虽然不是全部)我所习惯的方法来写软件,这是很棒的。

Bejeck 在文章中试图创建混合了继承和组合关系的组件,实施分离关注点,尤其是分离视图和商业逻辑。他的 Java 应用开发技巧派上了用场。如他所写:

作为一个有经验的 Java web 开发者,我太知道一个 JSP 页面应该只用于表现。所有的商业逻辑都应该在类中,如果你确实需要在你的 JSP 页面中包含代码,你应该用自定义标签来包装它。

在 Flex 中,可以使用标签将 ActionScript 代码包含在一个 MXML 文件中,这类似于 JSP 页面的特性,Java 代码可以通过标签嵌入页面。然而,通过在其他编程平台上工作得到的经验,Bejeck 使用了一种叫做“代码分离”(code behind)的实践,视觉组件完全在 ActionScript 3.0 中定义,使用 MXML 来决定如何在视觉上渲染组件。关于这种方法,Bejeck 提醒读者:

这是构建一个应用的一种架构性方法。如果你在做快速原型开发,不需要总是使用“代码分离”技术。

Bejeck 继而用代码片段详细描述了他如何扩展 Flex 内置的视觉组件来构建定制组件和事件处理器的过程,例如 DataGrid,Panel,TextInput 和 Button 组件。最后,他用一个包含 8 行代码的简单 MXML 文件显示了如何渲染 UI 并示范了干净的 UI 设计。

Bejeck 总结:

如你所见,使用“代码分离”方法,你的代码会非常简明而易于维护。在你开发更复杂的应用的时候,你不仅仅会有许多好用的组件,而且可以方便地管理你的应用程序的维护和修改工作。

Bejeck 在文章中向对于用 ActionScript 3 编程感兴趣的读者推荐了两本书。它们是:

查看英文原文: Case Study: Applying Java Programming Skill to Flex

2008-01-27 20:481160
用户头像

发布了 47 篇内容, 共 12.0 次阅读, 收获喜欢 3 次。

关注

评论

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

2022-09-23:整数数组 stations 表示 水平数轴 上各个加油站的位置。给你一个整数 k 。 请你在数轴上增设 k 个加油站, 新增加油站可以位于 水平数轴 上的任意位置,而不必放在整数

福大大架构师每日一题

算法 rust 福大大

Chrome操作指南——入门篇(十二)color picker(颜色选择器)

Augus

Chrome开发者工具 9月月更

Chrome操作指南——入门篇(十三)element小技巧

Augus

Chrome开发者工具 9月月更

每日算法刷题Day16-和为S的两个数字、数字排列、二进制中1的个数

timerring

算法题 9月月更

培养技能、增强信心、 获得亚马逊云科技认证

亚马逊云科技 (Amazon Web Services)

培训与认证

[Spring Framework]AOP初识

十八岁讨厌编程

aop 后端开发 9月月更

优化帮助中心需要做到以下几点

Baklib

产品 帮助中心 在线设计

FAQ需要有哪些功能?哪些注意事项

Baklib

产品 产品经理 客户服务 FAQ

AI走向何方?我们在GTC 2022看到了这些趋势

脑极体

[Spring Framework]AOP经典案例、AOP总结

十八岁讨厌编程

Java 后端开发 9月月更

跟着卷卷龙一起学Camera--LTM

卷卷龙

ISP 9月月更

使用 NVIDIA CloudXR 从 Google Cloud 流式传输 VR 和 AR 内容

3DCAT实时渲染

开发者有话说|在内卷中不断成长

timerring

9月月更 开发者有话说

速刷html一周目(上)

吉师职业混子

9月月更

速刷html一周目(下)

吉师职业混子

9月月更

Chrome操作指南——入门篇(十一)network

Augus

Chrome开发者工具 9月月更

关于 Angular 应用 tsconfig.json 中的 target 属性

汪子熙

typescript 前端开发 angular web开发 9月月更

【Jvm】Jvm类加载机制

石臻臻的杂货铺

JVM 9月月更

[Javaweb]JSON

十八岁讨厌编程

json 后端开发 9月月更

金九银十必备!这份java面经让你轻松拿下45kOffer

Java-fenn

Java 程序员 面试 java面试 Java面试题

2021年中国自然语言处理软件及服务市场规模超200亿,市场保持高速增长,竞争格局远未稳定

易观分析

自然语言处理 市场

企业选择局域网即时通讯软件的必要性是什么?

BeeWorks

Baklib|怎样编写内嵌式的帮助文档?

Baklib

产品 产品经理 企业 帮助文档 在线设计

我也不想学之PHP系列(1)

吉师职业混子

9月月更

【云原生 | 从零开始学Kubernetes】五、Kubernetes核心技术Pod

泡泡

Docker 云计算 云原生 k8s 9月月更

《软件开发的201个原则》思考:6. 低可靠性比低效率更糟糕

非晓为骁

个人成长 软件工程能力 高质量

WorkPlus移动办公系统:打造安全专属、统一业务与运营的企业门户

BeeWorks

疫情时代下,线上协同办公成时下热点

Baklib

远程办公 企业 协同办公 在线设计

峰会倒计时1天!九位行业大咖邀您共启极速统一的数据分析新范式

StarRocks

Web3.0 杂谈 -#003(49/100)

hackstoic

Web3.0

INFINI 产品更新啦 20220923

极限实验室

elasticsearch console Gateway infini 极限实验室

案例研究:在Flex中应用Java编程技巧_Java_Moxie Zhang_InfoQ精选文章