- 1
- 0
- 约1.62万字
- 约 11页
- 2021-11-12 发布于广东
- 举报
Flex ,AS 面试题
1 。as2 与 as3. 的最主要区别是什么 ?
答:首先, as2 和 as3 是完全不同的语言,几乎没有兼容性可言。 as2 编译用的 AVM1 虚拟机, as3 用的 AVM2 ,速
度快,提供了一些基础异常处理。 as3 是纯的 OOP ,强类型语言。 as2 不是。具体的差别有太多太多。
2.flex 的开发框架有哪些,它们有什么优缺点?
答: 最常见的当然是 Cairngorm 、 Puremvc 了,此外还有 Mate ,Swiz 等等,据说被广泛应用的已经有 10 几款了。
Cairngorm 作为 Adobe 官方出品,有着贵族血统的它比较全面,是这些框架中已知 bug 最少的,但是基于他的应用相对臃
肿复杂一些,需要对每个可以被触发的事件写一个对应的 Command ,编码量巨大,并且单元测试很不容易,不适合敏捷开
发。 Puremvc 应该是现在用的最多的 as 框架了。比较完善、并且与 Cairngorm 相比,更适合中小型应用的开发,它与
Cairngorm 一样,也是以 MVC 模式为中心,并以 Fa?ade 作为中央存储器的单件类的形式进行开发的。说下 Mate ,它是
一个比较奇怪的框架,是基于标签的事件驱动型的。也就是说你不能再随意的写 as 类的,在使用 Mate 的情况下,只能用
MXML 来做这些事情。 Swiz 是 Mate 的孪生兄弟,长的挺像,没具体用过,不大了解。
2.Cairngorm
优点:
* 开发简单,易于测试
* 保持表现层和数据模型尽可能的简单
* 分离状态处理 , 表现 , 动作 , 服务端通信 , 使得代码简单清晰
* 有利于平行开发
缺点:
* 需要写大量的类。在 Cairngorm 中,每一个 event 对应一个 command ;因此,需要对程序触发的每 一
个事件来写一个 command 类。而且, 还要为 command 写一些其他的类, 例如 delegates。即使是一个中型的
应用也会导致大量的类产生
* Cairngorm 实现了自己的一套事件处理的方法。 这增加了 Flex 内置事件模型的复杂度, 而且它还有限制。
由于每个事件都有自己的的 command , 事件的响应者被限制成 1 个。加之 Cairngorm 的事件不具冒泡特性,
如果要发送数据到容器的其它层次则需要自己来实现
* Cairngorm 依赖全局的单例,这让模块和单元测试变得困难。尽管可以打破单例中的模型简化测试,但
是会增加额外的过程
* Service Locator 和 Delegates 比较臃肿
* 没有针对 Views 的解决方案
3.PureMVC
优点:
* PureMVC 一个稳定的框架并且拥有一个庞大的活跃社区来支持它。因为它为应用需要如何被创建以及
开发人员之间的标准化编码提供了一个意义明确的结构,所以它也非常适合团队开发。
* 解耦后,可分为 Fa?ade、Command 、Mediator (components )、Proxy (Value objec )四大部分,各部分
耦合度低
缺点:
* PuremvC 是一个相当复杂的框架,相对更难快速学会。
* PureMVC 对于事件处理拥有它自己的方法,并且它会使标准的 Flex 事件模型更难运作
* PureMVC 框架需要创建很多类,这些创建工作会增加生产时间和项目的大小
4.Mate
基于 Mate 创建的 Flex 项目结构:
* 必须拥有一个或多个事件
* 必须有一个 MXML 文件称为 event map
* event map mxml 文件定义想侦听的事件和如何响应该事件
* 可以拥有多个 event map 文件
* 当把需要的数据提供给类或者注入类时,对象被构造。
优点:
* 采用依赖注入方式实现了视图类和业务处理分离
* 使用 Flex 事件机制派发和接收事件
* 文档和示例众多
缺点:
* EventMap 都是通过 XML 实现的。 XML 编
原创力文档

文档评论(0)