springioc_有关spring框架中的IoC的幽默解.pdfVIP

springioc_有关spring框架中的IoC的幽默解.pdf

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
springioc_有关spring框架中的IoC的幽默解

springioc:有关spring框架中的IoC的幽默解 释 疯狂代码 http://CrazyC/ ĵ http:/CrazyC/Java/Article47483.html   IoC就是InversionofControl控制反转在Java开发中IoC意味着将你设计好类交给系统去控制而不是 在你类内部控制这称为控制反转   下面我们以几个例子来介绍说明什么是IoC   假设我们要设计个Girl和个Boy类其中Girl有kiss思路方法即Girl想要Kiss个Boy那么我们问题是Girl如何能 够认识这个Boy?   在我们中国常见MM和GG认识方式有以下几种   1、青梅竹马;   2、亲友介绍;   3、父母包办   那么哪种才是最好呢?   青梅竹马:Girl从小就知道自己Boy publicGirl{ voidkiss{ Boyboy=Boy; } }  然而从开始就创建Boy缺点就是无法在更换并且要负责Boy整个生命周期如果我们Girl想要换个如何办 ?(笔者严重不支持Girl经常更换Boy)   亲友介绍:由中间人负责提供Boy来见面 publicGirl{ voidkiss{ Boyboy=BoyFactory.createBoy; } }  亲友介绍固然是好如果不满意尽管另外换个好了但是亲友BoyFactory经常是以Singleton形式出现不然就 是存在于Globals无处不在无处不能实在是太繁琐了点不够灵活我为什么定要这个亲友掺和进来呢?为什么定要 付给她介绍费呢?万最好朋友爱上了我男朋友呢?   父母包办:切交给父母自己不用费吹灰的力只需要等着Kiss就好了 publicGirl{ voidkiss(Boyboy){ //kissboy boy.kiss; } }  Well这是对Girl最好思路方法只要想办法贿赂了Girl父母并把Boy交给他那么我们就可以轻松和Girl来 Kiss了看来几千年传统父母的命还真是有用哦!至少Boy和Girl不用自己瞎忙乎了   这就是IOC将对象创建和获取提取到外部由外部容器提供需要组件   我们知道好莱坞原则:“Donotcallus,wewillcallyou.”意思就是 You,girlie,donotcalltheboy.Wewillfeedyouaboy   我们还应该知道依赖倒转原则即DependenceInversionPrincinpleDIPEricGamma说要面向抽象编程面向 接口编程是面向对象核心   组件应该分为两部分即Service,所提供功能声明Implementation,Service实现好处是:多实现可以任意切换 防止“everythingdependsoneverything”问题.即具体依赖于具体   所以我们Boy应该是实现Kissable接口这样旦Girl不想kiss可恶Boy话还可以kiss可爱kitten和慈祥 grandmother    2、IOCtype   IoCType指是Girl得到Boy几种区别方式我们逐来介绍说明   IOCtype0:不用IOC publicGirlimplementsServicable{ privateKissablekissable; publicGirl{ kissable=Boy; } publicvoidkissYourKissable{ kissable.kiss; } }  Girl自己建立自己Boy很难更换很难共享给别人只能单独使用并负责完全生命周期   IOCtype1先看代码 publicGirlimplementsServicable{ Kissablekissable; publicvoidservice(ServiceManagermgr){ kissable=(Kissable)mgr.lookup(“kissable”); } publicvoidkissYourKissable{ kissable.kiss; } }  这种情况出现于AvalonFramework个组件实现了Servicable接口就必须实现service思路方法并传入个 ServiceManager其中会含有需要其它组件只需要在ser

文档评论(0)

docindpp + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档