最近进入一个项目,用的是ioc框架,使用的是C#,对于我这种重没用过框架的人来说一时还真难适应,觉得配置起来太复杂了,各种分层,各种接口,各种调用,各种配置,并且项目组人员还多,本人对TFS的使用还不是特熟练,所以决定在要抽出一些时间来学习一下IOC框架是什么。
以下内容参照连接如下:http://www.tuicool.com/articles/3QNN7fr
首先需要知道IOC是什么?
首先看看《大话设计模式》中基于C#语言如何诠释这门艺术的。原著由维修计算机入题,在我们日常生活中,我们很自然地,提高计算机速度需要更高的CPU,需要更快的系统响应度就需要更好的内存,需要更大的存储介质,就需要扩大硬盘,在这一系列的活动中,于是我们就自然而然的发现,计算机速度依赖CPU,在CPU的使用中我们从来不关心CPU是怎么设计出来的,我们只需要关注这是Intel还是AMD的CPU,因为他决定了你的主板类型,当确定了CPU之后,我们只需关注你需要使用那款CPU,因为接口主板都是一样的,也即是说,大的功能不会去关注具体每一款产品的实现,而只需要关注产品与产品之间的标准化接口。由此引出来这个原则的定义:A、高层模块不应该依赖低层模块,两个都应该依赖抽象
B、抽象不应该依赖细节,细节应该依赖抽象
这么讲其实是比较抽象的,具体到代码中实际上就是,层于层之间,各模块间,各项目间都应该使用接口层来完成模块的融合。 当某个角色(可能是一个对象实例,调用者)需要另一个角色(另一个对象实例,被调用者)的协助时,在传统的程序设计过程中,通常由调用者来创建被调用者的实例。而控制反转中创建被调用者的工作不再由调用者来完成。创建被调用者 实例的工作通常由特定的容器来完成,然后注入调用者,因此也称为依赖注入。
未完待续。。。。。。。。。。
- 为什么要引入IOC框架?
- C#怎么搭建IOC框架?