自定义真正的可重用Flex组件
来源:http://blogs.adobe.com/tomsugden/2009/12/writing_genuinely_reusable_fle.html
在企业的大项目里,经常要为Flex 类库写一系列可重用的组件。理论上一些相同的组件可以重复用在不同的模块和子模块的Flex 或 AIR 程序中,带来一致性和快速开发的好处。然而在实际中,存在些错误用法限制了组件的重用性。本文章解释是什么方法令组件可以真正重用,和强调一些在Flex SDK 里使用的技术,来编写出更具重用性的自定义组件。
什么方法令组件可以真正重用?
组件重用性存在不同等级。一个真正可以重用的组件应该可以接受任何类型打数据进行渲染。完全可以适应数组、动态Object或者是Kangaros(具体对象)的集合。Flex DataGrid 组件有这样一个属性。
<mx:DataGrid dataProvider="{ kangaroos }">
<mx:columns>
<mx:DataGridColumn headerText="Name" dataField="name"/>
<mx:DataGridColumn headerText="Weight" labelFunction="calculateWeight"/>
</mx:columns>
</mx:DataGrid>
注意 dataField 和 labelFunction 属性任何通知组件怎样从Kanagroos读取数据,而且没有对它有依赖。这两种方法可以使组件重用。即使开发人员不能对Kangaroo 对象修改。或者它在第三方类库,但是他们仍然很容易使用者些对象给DataGrid 渲染。
数据接口反模式
一个普遍的错误是把组件渲染的数据,去实现指定接口。例如:一个分布栏组件渲染简单图片,如下图:
[localimg=180,21]1[/localimg]
分布栏显示不同大小的地区。每个都有个标示。通过使用IRegion 对象数组进行设计。
public interface IRegion
{
function get label() : String;
function get size() : int;
}
这个分类栏会通过IRegion接口来提取size 和 label 信息渲染每个区域。理论上这个接口令这个组件和具象解耦了。任何实现该接口的类都可以被渲染。实际上这是设计上的错误。使用Iregion 接口令重用性有了限制。使用这组件前,一定需要把这接口加载进原有的数据类里。 更坏的情况是,这些数据类可能在另外的类库,或是在另一开发小组。因而不得不把这接口加载进来。导致这组件并不是真正的可重用。
可重用的Flex SDK组件
Flex SDK 提供很多可重用的组件,它们的实现有以下一些标准方法:
1.可重用的Flex SDK组件
Flex SDK 提供很多
相关文档:
Axis简介
技术前沿 2008-04-07 22:42 阅读104 评论0
字号: 大大 中中 小小
1.SOAP简介
企业系统内部各个系统之间的信息交换一直是一个难题,在过去有DCOM、CORBA等解决方案,但都不是很完美,不是太复杂就是有缺陷。现在则较流行SOAP(全称:Simple O ......
Flex framework有提供Resource Bundle,用于对外部资源的引用。
而其一个基本的用法就是用于应用程序的Localization,让程序根据不同的locale显示不同的文字,图片。换句话,你必须为每个locale准备一套asset。
在具体应用的时候,你通常要决定使用以下两个策略。下面以引用外在的一句文字做例子。
策略一:编译时设定
......
写下这个标题大家一定以为我是只FLEX老鸟,不然不敢这么高声说话,而且是在JAVAEYE里.我知道JE里高手很多.有很多人都对FLEX有秀深的见底,写此文是为了回答一些朋友对我的提问.
有很多想转行的开发者都问我这样几个问题:现在招FLEX的公司多吗?搞FLEX开发工资高吗?怎么样才算是FLEX入门了?怎么才称得上是FLEX高手?
&n ......
第一步: *.mxml文件中
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="horizontal"
creationComplete="playLoad()" color="#0F7085" backgroundGradientAlphas="[1.0, 1.0]" backgroundGradientColors="[#FFFFFF, #FFFFFF]">
<m ......
本文介绍一下关于flex性能优化,以及flex生成的的swf大小优化.
1.关掉build automaticly
2.专心做一个项目,开起来一个flex builder
3.用flex builder而不用Eclipse插件,这样不用受其它的插件的影响。
至于后来和数据库的就先不说了,因为水平有限
as3一出来,flex也跟着火一把,目前学习flex的人也越来越多了,但是国内fl ......