楼主: jieforest

常用Flex IOC框架比较分析

[复制链接]
论坛徽章:
277
马上加薪
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:14马上有车
日期:2014-02-18 16:41:112014年新春福章
日期:2014-02-18 16:41:11版主9段
日期:2012-11-25 02:21:03ITPUB年度最佳版主
日期:2014-02-19 10:05:27现任管理团队成员
日期:2011-05-07 01:45:08
31#
 楼主| 发表于 2009-10-1 00:00 | 只看该作者
表现层模型的注入

和前面几个框架一样,我在这里仍将表现层模型配置为无继承结构。

定义如下:
<local:MainPM id="mainPM"/>
<login:LoginPM id="loginPM"/>
<presentationModelashboardPM id="dashboardPM"/>

在类中用标准MXML定义注入:
public class LoginHandler implements IResponder
{
[Autowire(bean="mainPM"]
public var client : AuthenticationClient;

[Autowire]
public var user : User;

[Autowire]
public var friends : Friends;

[Autowire(bean="loginDelegate"]
public var delegate : LoginDelegate;

}

说明:如果待注入依赖的成员和Bean对象同名,那么就不需要显式指定Bean名。比如上例中,user和friends能自动分别得到名字为“user”和“friends”的Bean。

使用道具 举报

回复
论坛徽章:
277
马上加薪
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:14马上有车
日期:2014-02-18 16:41:112014年新春福章
日期:2014-02-18 16:41:11版主9段
日期:2012-11-25 02:21:03ITPUB年度最佳版主
日期:2014-02-19 10:05:27现任管理团队成员
日期:2011-05-07 01:45:08
32#
 楼主| 发表于 2009-10-1 00:00 | 只看该作者
配置服务层

LoginHandler依赖于LoginDelegate,LoginDelegate又依赖于RemoteObject。和注入表现层模型类似,利用元数据如下配置服务层:
public class LoginDelegate
{
[Autowire(bean="loginHandler")]
public var responder : IResponder;

[Autowire]
public var remoteObject : RemoteObject;

//…

使用道具 举报

回复
论坛徽章:
277
马上加薪
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:14马上有车
日期:2014-02-18 16:41:112014年新春福章
日期:2014-02-18 16:41:11版主9段
日期:2012-11-25 02:21:03ITPUB年度最佳版主
日期:2014-02-19 10:05:27现任管理团队成员
日期:2011-05-07 01:45:08
33#
 楼主| 发表于 2009-10-1 00:00 | 只看该作者
总结

Swiz中定义注入的方法与众不同,其配置和其他框架相比更为简单。

Swiz通过反射获取对象的信息,在大型应用中,无疑会产生不小的性能问题。不知道Swiz在未来是否会允许用户选择性启用或禁止这类行为,但目前已经有Aral Balkan和Christophe Coenraets提供了一些解决方案。

使用道具 举报

回复
论坛徽章:
277
马上加薪
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:14马上有车
日期:2014-02-18 16:41:112014年新春福章
日期:2014-02-18 16:41:11版主9段
日期:2012-11-25 02:21:03ITPUB年度最佳版主
日期:2014-02-19 10:05:27现任管理团队成员
日期:2011-05-07 01:45:08
34#
 楼主| 发表于 2009-10-1 00:00 | 只看该作者
总结

本文简要介绍了一些比较知名的Flex框架下的IOC容器,未被提及的有Mate和SmartyPants。Mate支持IOC,但不仅限于此。我最初打算在本文中准备一个Mate的例子,但后来觉得还是先深入学习后再写。写完这个例子后,我会在Google code上公布。SmartyPants和Swiz类似,也是利用元数据表述注入,值得一看。

本文是在Flex应用中使用IOC的入门读物,另外也是对各种框架做一比较,希望对你有所帮助。文章不能兼顾到这些框架的方方面面,建议你阅读它们的文档,了解更多细节。

使用道具 举报

回复
论坛徽章:
131
乌索普
日期:2017-09-26 13:06:30马上加薪
日期:2014-11-22 01:34:242014年世界杯参赛球队: 尼日利亚
日期:2014-06-17 15:23:23马上有对象
日期:2014-05-11 19:35:172014年新春福章
日期:2014-04-04 16:16:58马上有对象
日期:2014-03-08 16:50:54马上加薪
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14
35#
发表于 2009-10-1 09:30 | 只看该作者
nice job

使用道具 举报

回复
论坛徽章:
7
授权会员
日期:2006-05-19 16:23:56ITPUB元老
日期:2006-07-17 15:19:30会员2007贡献徽章
日期:2007-09-26 18:42:10ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44CTO参与奖
日期:2009-02-12 11:45:48
36#
发表于 2009-10-10 16:13 | 只看该作者
关注

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表