依赖注入框架Paley在Flex中技术开发
目录
1依赖注入的简述
1 首先把Paley框架的核心库文件拷贝至工程项目的libs目录中
2 其次在项目的默认包中建立MXML格式的配置文件
3
1
2 方法注入方式将[Inject]元标签放到声明方法之前
4 根据ID属性来注入在配置文件中
5 直接在配置文件中声明依赖关系
5结束语
正文
1依赖注入的简述
依赖注入最初由Martin Fowler描述的一种设计模式。所谓依赖注入是指程序运行过程中如果需要调用另一个对象协助时无须在代码中创建被调用者而是依赖于外部的注入。 目的是达到软件组件之间的解耦降低各层的依赖性提高软件组件的灵活性、可重用性以及可扩展性减少不必要的重复性开发工作最终达到降低软件开发成本。
2 Paley框架的概述
Paley是一个专门为Flex和Flash设计的IOC容器和消息框架使用它可以创建高解耦的构架它允许你用M e t a dat a、 MXML、 XML来配置对象对象由一个容器来统一管理而且Paley是非常容易扩展的。基于Flash平台的依赖注入框架有些是基于纯Flex SDK开发的不能脱离Flex SDK而独立存在还有一些框架是基于Actiocript开发的能独立于Flex SDK而存在但是又不能Flex SDK深度集成。但是Paley两者的功能都兼备该框架的核心是基于IOC容器与消息子系统并不依赖于Flex SDK 同时部分额外的功能模块是专为Flex设计的 为MXML配置、视图注入依赖对象和Fl ex模块开发提供了良好的支持。
1 首先把Paley框架的核心库文件拷贝至工程项目的libs 目录中并让项目引用这些库文件。
2 其次在项目的默认包中建立M XML格式的配置文件该文件中可以直接以的方式配置注入对象也可以用Paley里面的Object标签配置注入对象。以下代码以Paley自带的Object标签来演示配置注入对象样例代码以配置RemoteObject为例子
3 最后在FLex项目主文件内加上Paley的Conf igure、
ContextBuilder、 FlexConfig标签初始化Paley的配置文件加载I OC容器和消息子系统。样例代码如下
Conf igure标签的作用是为了在视图组件中实现对象的依赖注入而FlexConfig标签的作用是在Flex主文件加载配置文件。 xxxConfig为去掉mx m l后缀的配置文件。
4 Paley框架依赖注入的五种方式
1 构造器注入方式直接把[InjectCotructor]元标签放在类的声明上面来告诉Paley框架产生构造器方式的注入。之所以要把该元标签放在类声明上面是因为目前的Flash虚拟机会忽略构造方法上面的元标签。
[InjectCotructor]class UserLoginDao {
private var service Logiervicepublic function UserLoginDao service Logiervice {this. service = service
2 方法注入方式将[Inject]元标签放到声明方法之前。class UserLoginDao {private var service Logiervice
[Inject] public function initLogiervice serviceLogiervice void{this. service = serviceclass UserLoginDao {
[Inject]private var service Logiervice
/*[Inject] public set service service Logiervice void{this. service = service
4 根据ID属性来注入在配置文件中托管的对象需声明一个对应的ID属性。此时注入就直接根据ID来注入依赖而不再根据类型来注入。class UserLoginDao {
[Inject id=” logiervice” ] private var serviceLogiervice
5 直接在配置文件中声明依赖关系此时可不用在类的方法或属性前面加上[Inject]元标签。
5结束语
通过在FLEX开发中使用Paley框架的依赖注入技术实现了对象的动态注入使软件各层得到解耦提升软件开发的灵活性 同时也达到降低软件开发和维护成本的目的。
参考文献
[1] Shivprasad koirala Design pattern. Inveion ofcontrol and Dependency injection[EB/OL] . http
KB/aspnet/IOCDI.aspx.
[2] Martin Fowler. Inveion of Control Containe and theDependency Injection pattern[EB/OL] . httparticles/injection.html.
[3] Paul. IoC Types[EB/OL] . http display/PICO/IoC+Types。
Justg是一家俄罗斯VPS云服务器提供商,主要提供南非地区的VPS服务器产品,CN2高质量线路网络,100Mbps带宽,自带一个IPv4和8个IPv6,线路质量还不错,主要是用户较少,带宽使用率不高,比较空闲,不拥挤,比较适合面向非洲、欧美的用户业务需求,也适合追求速度快又需要冷门的朋友。justg的俄罗斯VPS云服务器位于莫斯科机房,到美国和中国速度都非常不错,到欧洲的平均延迟时间为40毫秒,...
Sharktech又称SK或者鲨鱼机房,是一家主打高防产品的国外商家,成立于2003年,提供的产品包括独立服务器租用、VPS云服务器等,自营机房在美国洛杉矶、丹佛、芝加哥和荷兰阿姆斯特丹等。之前我们经常分享商家提供的独立服务器产品,近期主机商针对云虚拟服务器(CVS)提供优惠码,优惠后XS套餐年付最低仅33.39美元起,支持使用支付宝、PayPal、信用卡等付款方式。下面以XS套餐为例,分享产品配...
puaex怎么样?puaex是一家去年成立的国人商家,本站也分享过几次,他家主要销售香港商宽的套餐,给的全部为G口带宽,而且是不限流量的,目前有WTT和HKBN两种线路的方面,虽然商家的价格比较贵,但是每次补一些货,就会被抢空,之前一直都是断货的状态,目前商家进行了补货,有需要这种类型机器的朋友可以入手。点击进入:puaex商家官方网站Puaex香港vds套餐:全部为KVM虚拟架构,G口的带宽,可...