Archive

Archive for the ‘framework’ Category

[转]Flex组件的继承关系

February 24th, 2010 momoko8443 No comments

通过继承,会了某一个组件的用法,与它有同样的继承关系的组件也就了解了

FLEX组件继承关系:
Object->EventDispather->DisplayObject->InteractiveObject->DisplayObjectContainer->Sprite->UIcomponet->All components

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 容器类组件

Application继承关系
UIComponent->Container->LayoutContainer->Application

ApplicationControlBar继承关系
UIcomponent->Container->Box->ControlBar->ApplicationControlBar
其主要用于全局导航,其是ControlBar的子类,后者用于Panel及itleWindow
Read more…

Categories: framework Tags:

开源项目as3wordpresslib测试版发布

November 6th, 2009 momoko8443 No comments

写在前面的话:
艾睿原创团队群的讨论时给我的灵 感,as3wordpresslib项目从7月份开始勾划,当中由于工作原因搁置了2个月,其实实际的开发时间也就只有短短2周左右,由于需要筹备婚事, 我感觉今后几个月之内不能全力support这个项目,但是不想让项目夭折,所以选择今天把这个完成度90%的项目发布出来,希望感兴趣的朋友能学习它, 使用它,完善它,推广它。

项目简介

什么是as3wordpresslib?

as3wordpresslib 是一套as3类库,这套类库实现了wordpress 2.8中基于xmlrpc的service接口。flex/flash开发人员利用这套类库就可以轻易的访问wordpress后台,而把注意力集中在打 造自己的个性化Blog UI。

使用as3wordpresslib你可以做些什么?

1. 使用Flex/Flash技术,实现blog的UI,打造个性化blog。
2. 使用Flex/AIR技术,实现blog离线撰写发布程序。

开发as3wordpresslib的目的?

1. 使得希望学习flex/flash开发而又缺少后台支持的初级程序员可以迅速方便的focus在自己感兴趣的领域。(其实这是本project的真正目 的,希望每个初学者都可以毫无后顾之忧的使用as3wordpresslib写出自己第一个真正意义上的Hello World )
2. 希望能带动其他的Flexers能和我一起做些虽然看似dirty work但是对于Flex应用推广和发展却有较大帮助的公益劳动。

为什么选择WordPress作为Blog后台

1. wordpress 目前非常火热,大部分技术人员都拥有自己的wordpress blog。(良好的群众基础)
2. wordpress 更新迅速,支持用户自定义插件皮肤,这正是Flex项目在开发中需要考虑的问题。

Read more…

Categories: framework Tags: , , ,

momvc 0.1 beta版终于完成了

June 22nd, 2009 momoko8443 No comments

最近利用闲暇时间写了一套flex轻量级mvc框架,我将其命名为momvc。

什么是momvc:
momvc是一套轻量级的flex mvc framework。
momvc的特点:
1、momvc借鉴(可以说是”抄袭”)了j2ee mvc框架”struts1″的架构设计思路,将业务control(struts中称为action,尽量配置在xml文件中),使ui和业务逻辑层完全解耦
2、因为”抄袭”了struts1的设计思路,可以说momvc是struts1的as3版本,因此对于广大j2ee出身的flexers来说大大降低了学习成本,一名熟悉struts1的flexer上手momvc可能只需要半个小时。
3、消息机制一直是flexers选择框架的关注重点,momvc没有使用puremvc中类似于sendNotification的统一消息机制。momvc将消息分成3类,第一类为ui上的用户事件,momvc没有对用户事件进行过多的侵入,在mediator中写addEventListener+callback函数还是开发人员的主要手段。第二类是业务事件,事件由函数驱动framework进行派发,开发人员可以将事件写在xml配置文件中,类似于struts-config.xml中的forward参数,各个mediator通过一个业务事件监听总线来处理业务事件。第三类是业务层(control or action)调用服务层(service)的事件,这里借鉴了公司目前使用的一套名为peony框架的思路,将异步操作同步化,另外加上对于webservice,httpservice,remoteObject等RPC访问方式的封装,已经彻底对开发人员屏蔽消息机制,开发人员可以像调用函数一样进行后台的访问。

目前我使用momvc开发了一个简易留言板作为Best Practice,当然里面没有牵涉到复杂的操作,对于性能方面没有做更多的验证,另外文档方面我最近没有时间去写,因此决定0.1 beta version不对外发布,我会和同事一起对框架进行讨论对其进行完善,争取能在实际项目中检验它。

如果您对momvc有兴趣或者对开发flex mvc框架有兴趣都可以和我联系,共同讨论。

谈谈flex项目开发中的mock设计

June 22nd, 2009 momoko8443 No comments

flex 项目开发中前台的层次划分多为view,controllor和service。

其中service连接后台使用的技术以httpservice为多,webservice次之,因为出于license的原因最为方便的remoteobject技术在正规开发团队中反而是用得最少的。

对于开发模式来说,多为前后台2个team同步开发。在实际开发中,往往因为2个team的进度不一致而导致某一方产生pending,使开发效率低下。一般来说,后台正式发布调用接口前,前台开发人员都会先自己mock一部分数据,以测试自己的components是否正确。

本文接下去要讨论的就是如何设计mock框架才是合理有效的

我们先来看看ui开发者对于mock的需求(仅仅针对于httpservice和webservice为交互方式)

1、mock数据应便于修改,mock数据源在ui开发人员可控范围内

2、不想为了mock而写大量额外的调用mock数据的代码

3、可以自由地在真实数据与mock数据之间切换

为了满足以上要求,我对service层的mock进行了如下设计

1、使用xml文件作为mock数据的数据源且存放在flex项目相应目录下以便于随时修改

2、对于后台webservice和httpservice以及xml mock文件的调用,进行统一封装,这里称为service delegate

3、使用factory模式,便于开发人员自由切换数据源,即切换各个delegate的具体实现

webservice,httpservice反序列化工作其实都是基于xml的(后台语言->as3)。对于xml mock文件来说,可以完全模拟后台的返回结果。另外抽象一层delegate来说也是十分方便的事情,webservice,httpservice,xml的调用过程无外乎是一个url+method name+parameters+callbackFunction,它们的返回结果都是 resultEvent.result一个标准的xml。定义若干个类和接口就能对后台访问方式进行封装,最后使用factory使开发人员可以方便的切换与 webservice、httpservice,mockservice这3者之间。

以上是我对于mock设计的一些思路,如有需要我会在以后的文章中补上具体实现代码以供参考。

Categories: framework Tags: ,