看《墨攻》理解IoC概念(二 )http://www.qqread.com/erp/3/j380307_3.html
看《墨攻》理解IoC概念(二)
IoC的三种类型
从注入方法上看,主要可以划分为三种的注入类型,分别是构造函数注入、属性注入和接口注入,Spring支持构造函数注入和属性注入。下面我们继续使用以上的例子说明这三种注入方法的区别。
■ 构造函数注入
我们通过客户类的构造函数,将接口实现类通过接口变量传入,如代码清单 3 3所示:
代码清单 3 MoAttack:通过构造函数注入革离扮演者
MoAttack的构造函数不关心具体是谁扮演革离这个角色,只要在①处传入的扮演者按剧本要求完成角色功能即可。
角色的具体扮演者由导演来安排,如代码清单 3 4所示:
代码清单 4 Director:通过构造函数注入革离扮演者
在①处,导演安排刘德华饰演革离的角色,并在②处,将刘德华“注入”到墨攻的剧本中,然后开始“城门问答”剧段的演出工作。
■ 属性注入
有时,导演会发现,虽然革离是影片《墨攻》的第一主人公,但并非每场戏都需要革离的出现,通过构造函数方式注入显得很不妥当,在这种情况下,可以使用属性注入进行改造。属性注入通过setter方法完成客户类所需依赖的注入,更灵活,更方便。
代码清单 5 MoAttack:通过setter方法注入革离扮演者
MoAttack在①处为geli属性提供一个setter方法,以便让导演在拍需要革离的戏时才将注入geli的具体扮演者,而不需要刘德华从头到尾跟着墨攻剧组跑。
代码清单 6 Director:通过setter方法注入革离扮演者
和通过构造函数注入革离扮演者不同,在实例化MoAttack时,并未指定任何扮演者,而是在实例化MoAttack后,调用其setGeli()方法注入扮演者。按照类似的方式,我们还可以为剧本中其他如巷淹中,梁王等角色分别提供注入的setter方法,导演即可以根据所拍剧段的不同,注入所需要的角色了。
■ 接口注入
将客户类所有注入的方法抽取到一个接口中,客户类通过实现这一接口提供注入的方法。为了采取接口注入的方式,需要声明一个额外的接口:
然后,MoAttack实现这个接口并实现接口中的方法:
代码清单 7 MoAttack:通过接口方法注入革离扮演者
Director通过ActorArrangable的injectGeli()方法完成扮演者的注入工作。
代码清单 8 Director:通过接口方法注入革离扮演者
由于通过接口注入需要额外声明一个接口,增加了类的数目,而且它的效果和属性注入并无本质区别,因此我们不提倡这种方式。
相关文章:2007年你需要知道的五大技术
但是来自Amazon和3tera公司的一些新服务也将按需计算的需求方式,带给了中小型企业,这个概念统称被称为托管型硬件或者网格计算。 其中这个过程中的关键因素之一就是虚拟化,其工作方式如下:遵循按需所取的原则,客户可以选择按每小时每虚拟服务器支付10美分的价格来访问虚拟服务器的衍生实例。
看《墨攻》理解IoC概念(二 )http://www.qqread.com/erp/3/j380307_3.html相关推荐
- 【转】 看《墨攻》理解IoC概念
看<墨攻>理解IoC概念 作者:IT168 陈雄华 http://tech.it168.com/j/e/2006-12-27/200612271430763.shtml 概述 I ...
- 看《墨攻》理解IoC概念 转
概述 IoC(反向控制:Inverse of Control)是Spring容器的底层核心功能,AOP功能.声明事务等功能在此基础上生根开花.但是IoC这个重要的概念却比较晦涩隐讳,拐弯抹角,不 ...
- 看《墨攻》理解IoC概念
作者:IT168 陈雄华 http://tech.it168.com/j/e/2006-12-27/200612271430763.shtml
- C#墨攻IOC[转]
原文叫看<墨攻>理解IOC概念 2006年多部贺岁大片以让人应接不暇的频率纷至沓来,其中张之亮的<墨攻>算是比较出彩的一部,讲述了战国时期墨家人革离帮助梁 国反抗赵国侵略的个人 ...
- 看《墨攻》理解软件世界的IoC概念
转载自:http://tech.it168.com/j/e/2006-12-27/200612271430763.shtml 概述 IoC(反向控制:Inverse of Control)是Sp ...
- 看《墨攻》理解IoC
IoC(反向控制:Inverse of Control)是Spring容器的底层核心功能,AOP功能.声明事务等功能在此基础上生根开花.但是IoC这个重要的概念却比较晦涩隐讳,拐弯抹角,不容易让人望文 ...
- 转看《墨攻》理解IoC—Spring底层核心
概述 IoC(反向控制:Inverse of Control)是Spring容器的底层核心功能,AOP功能.声明事务等功能在此基础上生根开花.但是IoC这个重要的概念却比较晦涩隐讳,拐弯抹角,不容易让 ...
- 《墨攻》理解IoC—Spring底层核心
概述 IoC(反向控制:Inverse of Control)是Spring容器的底层核心功能,AOP功能.声明事务等功能在此基础上生根开花.但是IoC这个重要的概念却比较晦涩隐讳,拐弯抹角,不容易让 ...
- Spring的使用——基础环境搭建以及IOC概念理解(持续更新)
spring基础环境搭建 1.添加Spring依赖 2.编写一个Spring的配置文件 3.通过Spring的应用程序应用上下文获取对象 优点:在修改方案时可以不用修改代码,只需修改配置文件的bean ...
最新文章
- 自动刷新某个指定网页
- Prototype Pattern
- vivoNEX3s版本服务器无响应,vivo NEX 3S为什么突然无人问津,这几点原因道出真相...
- es中的ResourceWatcherService
- 【计算几何】多边形点集排序
- c# 文件流读写文件
- mvc的视图中显示DataTable的方法
- 004-JQuery属性
- 201521123057 《Java程序设计》第12周学习总结
- 物联网来了,智能城市离我们还有多远?
- win10绿联usb转串口_USB转串口DB9驱动安装与设置方法
- 易语言excel内容查找助手
- 西门子dcs系统组态手册下载_不懂PLC,SCADA,也能通俗易懂的了解DCS(分布式控制系统)...
- 没有技术说明文档的开源都是耍流氓:微软Roslyn编译即服务在CIIP中具体应用(上)...
- 超市收银软件测试自学,超市收银系统测试计划.doc
- Java基础--继承案例(二)
- mysql数据库环境的搭建
- 【MySQL】数据库机房架构与跨城容灾详解(实战篇)(MySQL专栏启动)
- WinWebMail破解步骤
- 电音风格之Future Bass【待续】
热门文章
- 播放量暴涨2000w+,单日狂揽24w粉,内卷的搞笑赛道还有机会
- qq截图功能自带图片转文字功能
- Self-Attentive 基于自注意力分类的非结构化日志异常检测
- verifiable secret sharing可验证的秘密共享
- SPSS学习系列之SPSS Modeler的功能特性(图文详解)
- 安装小米笔记本安装华为管家,实现手机在电脑多屏协同卡顿
- Rackspace云文件
- 漫画图解:垃圾分类背后的数据和真相
- Kaiming He 何恺明					 http://kaiminghe.com/
- 准备好了吗?Windows Phone 8功能盘点