用Parsley实现Flex Ioc的简单例子
2010年08月10日
用Parsley实现Flex Ioc的简单例子 随着spring的流行,Ioc的概念开始大范围的普及。而Flex中也有不少实现Ioc的第三方工具,比如:ProfileViewer, Spring ActionScript, Parsley, Flicc, Swiz等等。看过7yue的博文说adobe的咨询团队比较推荐Parsley,不过看到官方文档对第一接触Ioc概念的初学者,个人觉得还是有点晦涩。 我用parsley做了个简单的例子,供初学者参考: parsley官网:http://www.spicefactory.org/parsley/ 新建Flex工程IoCdemo 下载2.0.1的zip包,将里面的parsley-complete-flex-2.0.1.swc, spicelib-complete-flex-2.0.1.swc 放入libs目录下。(spicelib还提供了反射的库,值得学习一下) 在src下创建包:net.risesoft.flex.demo(注:此处是包名不是件文件夹名,因为在src下文件名支持字符“.”,FB还不会提示错误)拷入如下的代码。 主文件和配置文件放在src下。 Company接口: Actionscript3代码 1.package net.risesoft.flex.demo 2.{ 3. public interface Company 4. { 5. function payWagesByEmployeeType(type:String):int; 6. } 7.} package net.risesoft.flex.demo { public interface Company { function payWagesByEmployeeType(type:String):int; } } Company接口的实现类一: Actionscript3代码 1.package net.risesoft.flex.demo 2.{ 3. public class RegularCompany implements Company 4. { 5. public function payWagesByEmployeeType(type:String):int 6. { 7. trace('按时发工资'); 8. return 7000; 9. } 10. 11. } 12.} package net.risesoft.flex.demo { public class RegularCompany implements Company { public function payWagesByEmployeeType(type:String):int { trace('按时发工资'); return 7000; } } } Company接口的实现类二: Actionscript3代码 1.package net.risesoft.flex.demo 2.{ 3. public class RiseSoft implements Company 4. { 5. public var companyName:String = "有生"; 6. 7. public function payWagesByEmployeeType(type:String):int 8. { 9. if(type=='老总') 10. { 11. trace('按时发工资。'); 12. return 3*10000; 13. } 14. else if(type=='离职员工') 15. { 16. trace('拖你没商量,人都走了还给你发钱?门都没!告法院都没用,等着吧,等个一年两年的哪天我高兴了给你发点。'); 17. return 0; 18. } 19. else if(type=='在职员工') 20. { 21. trace('能拖则拖,连续6个月不发,这是正常情况。'); 22. return 0; 23. } 24. else 25. { 26. var err : Error = new Error("无理取闹,只有我A别人钱,没有别人A我钱的哦"); 27. throw err; 28. } 29. } 30. } 31.} package net.risesoft.flex.demo { public class RiseSoft implements Company { public var companyName:String = "有生"; public function payWagesByEmployeeType(type:String):int { if(type=='老总') { trace('按时发工资。'); return 3*10000; } else if(type=='离职员工') { trace('拖你没商量,人都走了还给你发钱?门都没!告法院都没用,等着吧,等个一年两年的哪天我高兴了给你发点。'); return 0; } else if(type=='在职员工') { trace('能拖则拖,连续6个月不发,这是正常情况。'); return 0; } else { var err : Error = new Error("无理取闹,只有我A别人钱,没有别人A我钱的哦"); throw err; } } } } Employee类: Actionscript3代码 1.package net.risesoft.flex.demo 2.{ 3. public class Employee 4. { 5. public var type:String; 6. 7. [Inject(id="company")] 8. public var company:Company; 9. 10. public function getPay():int 11. { 12. return company.payWagesByEmployeeType(type); 13. } 14. } 15.} package net.risesoft.flex.demo { public class Employee { public var type:String; [Inject(id="company")] public var company:Company; public function getPay():int { return company.payWagesByEmployeeType(type); } } } 配置文件contextConfig.mxml: Xml代码 1. 2. 5. 6. 7. 主文件IoCdemo.mxml Mxml代码 1. 2. 5. 6. 28. 29. 弄完以后按F11,即可看到结果 Ioc一个主要好处是通过接口来实现模块之间的解耦,而通过对配置文件的解读来装配具体的实现类。以上面的例子来说,这样的好处就是当我想换新公司的时候,只要将配置文件中的RiseSoft改成RegularCompany即可达到正常发工资的要求。源代码如下,FB3工程 Flex Ioc各种实现工具比较:http://www.adobe.com/devnet/flex/articles/ioc_fram eworks.html?devcon=f1 7yue博客:http://www.7yue.com/post/358.html 如果想了解更多Ioc知识可以看看java的Ioc的文章,我就不献丑了
发表评论
-
shell实例(七) --参数/字符串替换
2012-07-06 09:52 10281.说明 ${parameter-default} --- ... -
GCC后端及汇编发布(20)
2012-07-06 09:46 737DEFINE_INSN_RESERVATION模式的概览一 ... -
asp.net下集成(Active Messenger)AM消息发送组件
2012-07-03 13:44 1275Active Messenger是杭州恒创软件公司开发的一 ... -
Flex富文本编辑器(嵌入Fck)
2012-07-02 13:04 1021... -
(Flex)让Panel可拖动
2012-07-02 13:04 560height="300" mouseD ... -
flex 中Tree的数据由数组提供
2012-07-02 13:04 420flex/spark" xmln ... -
flex 事件触发篇
2012-07-02 13:04 573事件触发篇 完整代码 ... -
FLEX 条形图(柱状图)设置刻度为百分比
2012-07-02 13:04 1104作者原创,如需转载请注明出处:www.krzone.org ... -
[转]Flex中[Bindable]的用法
2012-07-01 10:37 620什么是元数据(metadata):[Bindable]大 ... -
Flex 动态datagrid的应用
2012-07-01 10:37 633Flex有2种常用的datagrid: ... -
FLEX与javascript交互
2012-07-01 10:37 587用Flex来调用同一页面中的javascript函数。调用 ... -
Flex + BlazeDS 学习笔记 (一) --- BlazeDS的功能原理及配置实例
2012-07-01 10:37 739BlazeDS Test Drive里面 ... -
页面中嵌入FLEX应用-传参
2012-06-30 17:01 660页面中嵌入FLEX应用-传参 2010年06月29日 项 ... -
Flex嵌入jsp开发心得
2012-06-30 17:01 733Flex嵌入jsp开发心得 2010年07月02日 PM ... -
flex与数据库交互
2012-06-30 17:01 538flex与数据库交互 2010年07月04日 Flex最 ...
相关推荐
parsley-flex api 英文的 parsley-flex api 英文的 parsley-flex api 英文的 parsley-flex api 英文的
常用Flex IOC框架比较分析示例代码,有Spring ActionScript、 Parsley、Flicc和Swiz这几个框架
Flex Cairngorm Parsley 最新的源码DEMO!
flex actionscript 开发 对flex mxml技术的掌握 对java数据库后台框架 spring+hibernate ejb 3.0+jpa 等等后台技术
parsley框架的入门源码 比官方文档中的例子更进一步 更深入一些
parsley loc框架 flash flex 通用
控制反转(inversion of Control,IOC),也称为依赖注入(Dependency injection,DI),在过去几年中已经成为流行的软件设计模式,从而导致许多Flex开发者投入到此类框架的探索,其中就包括Spring ActionScript,Parsley,...
parsley例子 parsley例子 parsley例子 parsley例子 parsley例子
Parsley,是一款强大的JavaScript表单验证插件,可以帮助你只使用简单的配置即可实现表单验证功能,这完全基于它的强大DOM-API。 主要特性: 基于超棒的用户体验 超级方便配置 超轻量级(压缩后12K),支持...
Parsley is an Application Framework for Flex and Flash Applications built upon an IOC Container and Messaging Framework that can be used to create highly decoupled architectures. It allows you to ...
flex中parsley的文档教程,看网页不方便,弄成chm
Parsley的一个Demo 比pureMVC更适合用在Flex 也可以在java blazeDS 中运行 http://coenraets.org/blog/2009/07/building-a-flex-application-with-the-parsley-framework/
若你不知道parsley,但您一定听过Cairngorm、Mate、PureMVC、Swiz或SpringAcitonScript,只要听说过其中之一就好了,因为parsley也是他们行列中的一员,是Adobe项目组今年7月份推荐的一个灵活的flex框架!
parsley-flash api 英文的 parsley-flash api 英文的 parsley-flash api 英文的 parsley-flash api 英文的
NULL 博文链接:https://nealmi.iteye.com/blog/599345
parsley2.4英文开发手册 parsley2.4英文开发手册 parsley2.4英文开发手册 parsley2.4英文开发手册 parsley2.4英文开发手册
随着spring的流行,Ioc的概念开始大范围的普及。看过7yue的博文说adobe的咨询团队比较推荐Parsley
Parsley框架开发的Hello World实例源代码,完成客户端登录功能,需要的朋友可以下载参考,用于学习Parsley框架入门
parsley-2.3.1资源含有发布的lib库、源码、例子及依赖库等整个资源包
Parsley 2.0 is available in early dev mode for testing purpose. You can see it there at the moment: Parsley2 doc Please have a try, and your feeback here would be much appreciated! Thanks