Parsley Framework 简介

  Parsley Framework 是Parsley旗下的一个Actionscript/Flash/Flex/Air的一个应用程序框架。如果你对Spicefactory不熟悉或者不了解,如果你听说过曾经的FDT Actionscript编辑器的话,他们的作者公司:Powerflasher就是这个Spicefactory的作者。

这个框架实际上一直以来对于国内开发人员来说都不是很有名的,但是,由于获得Adobe咨询团队的介绍以及国内Flash平台传道者7yue 的介绍。这个应用程序框架正在国内得到越来越多的关注。

这里就简单介绍一下,这个开发程序框架到底有什么比较有“个性”的功能。

 

Parsley 首先是一个IoC容器。如果对IoC不了解,还是得先去学习一下由Java社区中Spring带起来的这个模式。

IoC的最大的特点是允许你对依赖关系进行注入,换个说法就是在基于面向对象的编程中,每个对象之间是有一定关系的,比如汽车与轮胎。 我们必须让汽车持有轮胎这个对象,才能让其开始运作。

而最大的问题是如何初始化这些轮胎对象,并且让汽车持有他们。一般的两种做法是

1,由汽车这个类中,自己来创建轮胎实例,并且初始化。 这个做法的缺点是把汽车和这个轮胎实例耦合在一起了。如果你明天想换个跟牛的轮胎对象,则需要修改汽车类。

2,由一个第三方类来初始化轮胎实例,并且赋值给汽车。这个时候,你甚至可以让汽车接受一个轮胎的接口,这样,第三方可以将汽车对轮胎的依赖,注入到汽车对象中去,而且,由于汽车和轮胎之间没有直接的耦合关系,你可以随意让第三方创建不同的基于同一轮胎接口的轮胎对象,随意切换不同的轮胎。

第二种方式中提到的方式,就是依赖注入方式。也是IoC的一个很大的特点。IoC框架其实有很多,像SpringActionscript这样的项目。 

IoC在Parsley中,并不是他的唯一功能,而且,如果这是他的唯一功能,Parsley也就没有这么耀眼了。

 

Parsely的另外一个特点,就是消息的托管。
在一般的Flex应用程中,一个用户事件有时候需要被传送出去,事件,以及事件的传送,在Cairngorm2以及我们平时常用的一些框架中,需要一个EventBus来集中播发全局事件。

在Cairngorm2中,这个EventBus是一个全局的单例,所有需要播发事件的类,视图都需要跟这个单例产生耦合从而不能继续重用。
有一些框架,使用事件冒泡机制,让Flash显示对象特有机制来在全局播发对象,最后在stage上监听这个事件。这虽然避免了单例造成的耦合,但是却造成只有被加载到显示列表上的对象才能播发事件。如果一个对象暂时离开了显示列表,或者他不是一个显示对象,则无法通过冒泡法播发事件。
Parsely的事件托管机制很好的解决了这个问题:

Parsely让你通过MetaData标记需要托管事件的类,在运行过程中,你只需要像普通一个EventDispather那样播发一个事件。由于这个对象会被Parsley托管(比如在IoC容器中,或者通过视图绑定)。Parsley会监听这个事件,并且集中将此事件重新播发出去。 你可以在你希望地方配置事件监听器来相应这些事件。

由于在22日的Adobe技术大会上,RIAmeeting要讲解关于Parsley的相关内容,这里就算是一个简单的预览。等会后会提供更详细的例子和讲解。
 

riadevID: 
您给予的分值: None 平均分: 10 ( 2 票)

发表新评论

  • 网页地址和电子邮件地址将会被自动转换为链接。
  • 行和段被自动切分。
  • 您可以使用下面的标签来高亮显示您的评论内容: <code>, <blockcode>. 可以使用"[foo]".旁边显示标签样式 "<foo>" PHP代码可以用这样的区块来包含<?php ... ?> or <% ... %>

更多格式化选项信息

验证区域
系统验证:请回答下面的问题