浅谈依赖注入
背景:生活总是会提供一些你原本不知道的东西,面对这些不知道又反复被"提醒"的东西,我们总能通过其他的途径得知关于它某某属性,某某方法。就像是这个“依赖注入”一样,我们总是能用到它,但是就是不知道它的实际定义是怎样,还有什么地方用得到它,用于不用到底有什么不同,好处又是什么,有没有特别的坏处……这一切的一切似乎和自己没有多大关系,但是“放过”又不是我们的风格。 一、控制反转 ? ? “要想知其子,必先究其母”,查询过资料,依赖注入是控制反转的一种类型。那么控制反转又是什么呢? ? ? 控制反转(Inversion of Control,英文缩写为IoC)是一个重要的面向对象编程的法则来削减计算机程序的耦合问题,也是轻量级的Spring框架的核心。? ? ? 控制反转一般分为两种类型,依赖注入(Dependency Injection,简称DI)和依赖查找(Dependency Lookup)。依赖注入应用比较广泛。 ? ??控制反转是,关于一个对象如何获取他所依赖的对象的引用,这个责任的反转。 二、依赖注入 ? ? 依赖注入的基本原则是:应用组件不应该负责查找资源或者其他依赖的协作对象。配置对象的工作应该由IoC容器负责,“查找资源”的逻辑应该从应用组件的代码中抽取出来,交给IoC容器负责。 ? ? 当前比较知名的IoC容器有:Pico Container、Avalon 、Spring、JBoss、HiveMind、EJB等。
在ITOO中我们用到了依赖注入 三、举个栗子 在ITOO中我们用到了依赖注入,下面简单的介绍一下。 1、首先在Web.config中对已经写好的B层进行注解: 2、在Client端调用B层接口的时候,进行实例化操作: 3、使用的时候直接用2中刚刚实例化出来的对象。 四、学习心得 1、面对生活给的种种,我们先坦然的接受,然后慢慢地消化。 2、在例子中实践远远比在理论中低迷要好得多。 3、“放过”不是我们的风格,“将就”也不是我们的宗旨,我们要做的就是究其根本,找到本源。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 在C中,按字符串长度排序字符串数组
- postgresql 8.4源码在windows下编译
- c# – 用于执行JS时ScriptManager和ClientScript之间的差异
- [cocos2dx]cocos2dx-lua中class语法
- ruby-on-rails – Rails预编译:为什么LESS.ERB文件不起作用
- postgresql 自定义aggregate function实现reduce
- oracle数据库权限之二――定义者权限与调用者权限
- Gomoku:搜索时间有限
- ruby-on-rails – 帮助程序中的HAML过滤器
- ruby-on-rails – Heroku使用生产配置而不是分段配置