注入依赖注入框架Parsley在Flex中技术开发

依赖注入  时间:2021-02-08  阅读:()

依赖注入框架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 Logiervicepublic function UserLoginDao service Logiervice {this. service = service

2 方法注入方式将[Inject]元标签放到声明方法之前。class UserLoginDao {private var service Logiervice

[Inject] public function initLogiervice serviceLogiervice  void{this. service = serviceclass 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 serviceLogiervice

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] . httparticles/injection.html.

[3] Paul. IoC Types[EB/OL] . http display/PICO/IoC+Types。

RAKsmart推出7.59美元/月,云服务器产品Cloud Server,KVM架构1核1G内存40G硬盘1M带宽基础配置

近期RAKsmart上线云服务器Cloud Server产品,KVM架构1核1G内存40G硬盘1M带宽基础配置7.59美元/月!RAKsmart云服务器Cloud Server位于美国硅谷机房,下单可选DIY各项配置,VPC网络/经典网络,大陆优化/精品网线路,1-1000Mbps带宽,支持Linux或者Windows操作系统,提供Snap和Backup。RAKsmart机房是一家成立于2012年...

wordpress外贸企业主题 wordpress经典外贸企业建站主题

WordPress经典外贸企业建站主题,经典配色扁平化简约设计+跨屏自适应移动端设备,特色外贸企业建站功能模块+在线Inquiry询单功能,更有利于Google等英文搜索优化和站点收录。采用标准的HTML5+CSS3语言开发,兼容当下的各种主流浏览器: IE 6+(以及类似360、遨游等基于IE内核的)、Firefox、Google Chrome、Safari、Opera等;同时支持移动终端的常用...

CloudServer:$4/月KVM-2GB/50GB/5TB/三个数据中心

CloudServer是一家新的VPS主机商,成立了差不多9个月吧,提供基于KVM架构的VPS主机,支持Linux或者Windows操作系统,数据中心在美国纽约、洛杉矶和芝加哥机房,都是ColoCrossing的机器。目前商家在LEB提供了几款特价套餐,最低月付4美元(或者$23.88/年),购买更高级别套餐还能三个月费用使用6个月,等于前半年五折了。下面列出几款特别套餐配置信息。CPU:1cor...

依赖注入为你推荐
网络明星网络明星是什么,出现这一现象的原因是什么郭彩妮介紹點好聽的音樂給我、大家如何建立一个网站如何建立一个网站直播加速请问哪种播放器的可以播放加速,并且可以保存人人逛街人人逛街评论怎么不显示链接了?好像4月28日就不能显示了。是什么原因呢?安装迅雷看看播放器怎样安装迅雷看看播放器ejb开发EJB是什么?小米手柄小米手柄能连几个手机系统分析员系统分析师是做什么 的虚拟机软件下载求一个免费虚拟机软件!!!请发送下载网站给我
怎样注册域名 日本vps 免费vps 七牛优惠码 罗马假日广场 qq数据库 网通ip cdn联盟 360云服务 512mb 视频服务器是什么 1美元 winserver2008 认证机构 ubuntu安装教程 德国代理 在线tracert 远程主机强迫关闭了一个现有的连接 主机声音大 免费邮件服务器软件 更多