用Parsley实现Flex Ioc的简单例子
- 博客分类:
- 技术杂绘
用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的文章,我就不献丑了
发表评论
-
jQuery 获取屏幕高度
2013-12-26 01:32 541做手机Web开发做浏览器兼容用到了,所以在网上找了些汇总下。 ... -
jQuery-事件绑定与事件委托
2013-12-26 01:31 771jQuery中给DOM元素添加事件处理程序常用的方式: $(& ... -
深入分析Flex[Bindable]及使用方法
2012-01-20 01:21 423深入分析Flex[Bindable]及使用方法 2010年0 ... -
页面中嵌入FLEX应用-传参
2012-01-20 01:21 722页面中嵌入FLEX应用-传参 2010年06月29日 项 ... -
Flex嵌入jsp开发心得
2012-01-20 01:21 503Flex嵌入jsp开发心得 2010年07月02日 PM ... -
flex与数据库交互
2012-01-20 01:21 358flex与数据库交互 2010年07月04日 Flex最 ... -
大全【极有收藏价值的】
2012-01-19 09:11 428大全【极有收藏价值的 ... -
提高小学作文实效性的思考
2012-01-19 09:11 348提高小学作文实效性的思考 2010年11月17日 摘要: ... -
小学生评语大全
2012-01-19 09:11 517小学生评语大全 2011年07月14日 你是一位可爱的小 ... -
小学生期末评语经典大全
2012-01-19 09:11 606小学生期末评语经典大全 2011年12月15日 1.你是 ... -
超级爆笑小学生作文大全,这孩子太搞了
2012-01-19 09:11 581超级爆笑小学生作文大全,这孩子太搞了 2011年11月03日 ... -
操作系统总结(除课后计算题外)
2012-01-17 01:40 721操作系统总结(除课后计算题外) 2012年01月12日 ... -
Linux基础学习 收藏
2012-01-17 01:40 628Linux基础学习 收藏 2011年06月24日 Lin ... -
2011-9-13
2012-01-17 01:40 4942011-9-13 2011年09月13日 JavaSE ... -
linux共享内存
2012-01-17 01:40 638linux共享内存 2010年07月 ... -
JAVA经典32问
2012-01-17 01:40 501JAVA经典32问 2011年12月28 ... -
系统调用、POSIX、C库、系统命令和内核函数
2012-01-15 20:55 666系统调用、POSIX、C库、 ... -
AS3容器的实现原理
2012-01-15 20:55 908AS3容器的实现原理 2010年07月09日 所谓 ... -
【顶】FLASH教程――目录
2012-01-15 20:55 710【顶】FLASH教程――目录 2009年09月15日 追 ... -
【顶】flash教程――目录
2012-01-15 20:55 707【顶】flash教程――目录 2009年09月15日 F ...
相关推荐
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