注入依赖注入框架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站群新增,限量低至月1.99美元

RAKsmart 商家八月份的促销活动今天更新。基本上和上个月的产品套餐活动差不多的,不过也是有简单的微调。对于RAKsmart商家还是比较了解的,他们家产品虽然这两年增加多个机房,以及在VPS主机方案上有丰富的机房和调整到一些自营机房,他们家的策划能力还是有限,基本上每个月的套餐活动都差不多。RAKsmart 在八月份看到有新增香港高防服务器可选,最高100GB防御。同时原来上个月缺货的日本独立...

ftlcloud(超云)9元/月,1G内存/1核/20g硬盘/10M带宽不限/10G防御,美国云服务器

ftlcloud怎么样?ftlcloud(超云)目前正在搞暑假促销,美国圣何塞数据中心的云服务器低至9元/月,系统盘与数据盘分离,支持Windows和Linux,免费防御CC攻击,自带10Gbps的DDoS防御。FTL-超云服务器的主要特色:稳定、安全、弹性、高性能的云端计算服务,快速部署,并且可根据业务需要扩展计算能力,按需付费,节约成本,提高资源的有效利用率。点击进入:ftlcloud官方网站...

GreenCloudVPS($30/年),500G大硬盘VPS,10Gbps带宽

GreenCloudVPS最近在新加坡DC2节点上了新机器,Dual Xeon Silver 4216 CPU,DDR4内存,10Gbps网络端口,推出了几款大硬盘VPS套餐,基于KVM架构,500GB磁盘起年付30美元。除了大硬盘套餐外,还加推了几款采用NVMe硬盘的常规套餐,最低年付20美元。不过需要提醒的是,机房非直连中国,尤其是电信用户ping值感人,包括新加坡DC1也是如此。大硬盘VPS...

依赖注入为你推荐
彩信中心短信中心号码是多少网易公开课怎么下载哪位高手指导一下,如何下载网易公开课啊?如何建立自己的网站如何建立自己的网站xv播放器下载求手机可以看xv格式的视频播放器ios系统iOS系统是什么机械键盘轴机械键盘什么轴好,机械键盘轴有几种云挂机趣头条后台云挂机辅助后台云挂机辅助有谁用过?想了解实际情况。电子商务网站模板电子商务网站模板有免费的吗?电子商务网站模板哪里有?电子商务网站模板怎么找?网站排名靠前如何让自己的网站排名靠前freebsd安装最近安装了FreeBSD安装的时候没创建普通用户,然后用超级用户的身份进入系统,但是超级用户只有一个#提示符,怎么在超级用户下去创建一个普通的用户了?
中文域名注册 东莞服务器租用 上海vps 域名服务器上存放着internet主机的 免费顶级域名 香港加速器 Vultr windows主机 免费网站监控 info域名 12306抢票助手 777te 小米数据库 php空间申请 卡巴斯基官方免费版 新家坡 t云 空间购买 vul 中国linux 更多