欢迎光临112期刊网!
网站首页 > 论文范文 > 计算机论文 > 软件技术 > 依赖注入框架Parsley在Flex中技术开发

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

日期:2023-01-24 阅读量:0 所属栏目:软件技术


  在面向对象的软件设计过程中,软件各个功能是通过对象之间的协作来完成,并且这些对象是在软件的组件模块中实例化,这样做的后果导致组件与组件以及组件与自己内部对象之间的高度紧密耦合,同时造成软件很难被维护以及不利于软件组件独立的进行测试。此时通过依赖注入技术,可以把对象直接注入到程序里面,而不需要在程序中实例化这些对象,并且对象在被注入前可以独立的进行测试。在基于Flex开发的富因特网应用程序中,Parsley框架就是常见的依赖注入框架,并且得到了Adobe官方的推荐。该文主要研究讨论Parsley框架中的依赖注入技术在Flex开发中的应用。
  1 依赖注入的简述
  依赖注入最初由Martin Fowler描述的一种设计模式。所谓依赖注入,是指程序运行过程中,如果需要调用另一个对象协助时,无须在代码中创建被调用者,而是依赖于外部的注入。目的是达到软件组件之间的解耦,降低各层的依赖性,提高软件组件的灵活性、可重用性以及可扩展性,减少不必要的重复性开发工作,最终达到降低软件开发成本。
  2 Parsley框架的概述
  Parsley 是一个专门为Flex 和Flash 设计的IOC 容器和消息框架,使用它可以创建高解耦的构架,它允许你用Metadata、MXML、XML来配置对象,对象由一个容器来统一管理,而且Parsley是非常容易扩展的。基于Flash平台的依赖注入框架,有些是基于纯Flex SDK开发的,不能脱离Flex SDK而独立存在;还有一些框架是基于ActionScript开发的,能独立于Flex SDK而存在,但是又不能Flex SDK深度集成。但是Parsley 两者的功能都兼备,该框架的核心是基于IOC 容器与消息子系统,并不依赖于Flex SDK ,同时部分额外的功能模块是专为Flex 设计的, 为MXML 配置、视图注入依赖对象和Flex 模块开发提供了良好的支持。
  3 Parsley框架在FLEX开发中的配置以及初始化流程
  1) 首先把Parsley框架的核心库文件拷贝至工程项目的libs目录中,并让项目引用这些库文件。
  2) 其次在项目的默认包中建立MXML格式的配置文件,该文件中可以直接以的方式配置注入对象,也可以用Parsley里面的Object标签配置注入对象。以下代码以Parsley自带的Object标签来演示配置注入对象(样例代码以配置RemoteObject为例子):
  3) 最后在FLex项目主文件内加上Parsley的Configure、 ContextBuilder、FlexConfig标签,初始化Parsley的配置文件,加载IOC容器和消息子系统。样例代码如下:
  Configure标签的作用是为了在视图组件中实现对象的依赖注入,而FlexConfig标签的作用是在Flex主文件加载配置文件。xxxConfig为去掉mxml后缀的配置文件。
  4 Parsley框架依赖注入的五种方式
  1) 构造器注入方式:直接把[InjectConstructor]元标签放在类的声明上面来告诉Parsley框架产生构造器方式的注入。之所以要把该元标签放在类声明上面,是因为目前的Flash虚拟机会忽略构造方法上面的元标签。
  [InjectConstructor]
  class UserLoginDao {
  private var service:LoginService;
  public function UserLoginDao(service:LoginService) {
  e = service;}}
  2) 方法注入方式:将[Inject] 元标签放到声明方法之前。
  class UserLoginDao {
  private var service:LoginService;
  [Inject] public function initLoginService (service:LoginService) :void{
  e = service;}}
  3) 类型属性元标签放到一个变量声明或属性方法之前,无需同时在变量或属性方法上面使用该元标,只需在其中一个上面使用即可。
  class UserLoginDao {
  [Inject]private var service:LoginService;
 /*[Inject] public set service (service:LoginService) :void{
  e = service;
  }*/}
  4) 根据ID属性来注入:在配置文件中,托管的对象需声明一个对应的ID属性。此时注入就直接根据ID来注入依赖,而不再根据类型来注入。
  class UserLoginDao {
  [Inject(id=” loginService”)] private var service:LoginService;}
  5) 直接在配置文件中声明依赖关系,此时可不用在类的方法或属性前面加上[Inject]元标签。
  5 结束语
  通过在FLEX开发中使用Parsley框架的依赖注入技术,实现了对象的动态注入,使软件各层得到解耦,提升软件开发的灵活性,同时也达到降低软件开发和维护成本的目的。
  参考文献:
  [1] Shivprasad, koirala, Design, pattern. Inversion of control and Dependency injection[EB/OL]. http://.
  . http://.
  [3] Types[EB/OL]. http://display/PICO/IoC+Types.

本文链接:http://www.qk112.com/lwfw/jsjlw/ruanjianjishu/229735.html

论文中心更多

发表指导
期刊知识
职称指导
论文百科
写作指导
论文指导
论文格式 论文题目 论文开题 参考文献 论文致谢 论文前言
教育论文
美术教育 小学教育 学前教育 高等教育 职业教育 体育教育 英语教育 数学教育 初等教育 音乐教育 幼儿园教育 中教教育 教育理论 教育管理 中等教育 教育教学 成人教育 艺术教育 影视教育 特殊教育 心理学教育 师范教育 语文教育 研究生论文 化学教育 图书馆论文 文教资料 其他教育
医学论文
医学护理 医学检验 药学论文 畜牧兽医 中医学 临床医学 外科学 内科学 生物制药 基础医学 预防卫生 肿瘤论文 儿科学论文 妇产科 遗传学 其他医学
经济论文
国际贸易 市场营销 财政金融 农业经济 工业经济 财务审计 产业经济 交通运输 房地产经济 微观经济学 政治经济学 宏观经济学 西方经济学 其他经济 发展战略论文 国际经济 行业经济 证券投资论文 保险经济论文
法学论文
民法 国际法 刑法 行政法 经济法 宪法 司法制度 法学理论 其他法学
计算机论文
计算机网络 软件技术 计算机应用 信息安全 信息管理 智能科技 应用电子技术 通讯论文
会计论文
预算会计 财务会计 成本会计 会计电算化 管理会计 国际会计 会计理论 会计控制 审计会计
文学论文
中国哲学 艺术理论 心理学 伦理学 新闻 美学 逻辑学 音乐舞蹈 喜剧表演 广告学 电视电影 哲学理论 世界哲学 文史论文 美术论文
管理论文
行政管理论文 工商管理论文 市场营销论文 企业管理论文 成本管理论文 人力资源论文 项目管理论文 旅游管理论文 电子商务管理论文 公共管理论文 质量管理论文 物流管理论文 经济管理论文 财务管理论文 管理学论文 秘书文秘 档案管理
社科论文
三农问题 环境保护 伦理道德 城镇建设 人口生育 资本主义 科技论文 社会论文 工程论文 环境科学