电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

SpringVIP免费

Spring_第1页
1/73
Spring_第2页
2/73
Spring_第3页
3/73
Spring.NET 学习笔记1——控制反转(基础篇) Level 200 在学习Spring.NET 这个控制反转(IoC)和面向切面(AOP)的容器框架之前,我们先来看一下什么是控制反转(IoC)。 控制反转(Inversion of Control,英文缩写为 IoC),也叫依赖注入( Dependency Injection)。我个人认为控制反转的意思是依赖对象 (控制权)发生转变,由最初的类本身来管理依赖对象转变为 IoC 框架来管理这些对象,使得依赖脱离类本身的控制,从而实现松耦合。 我们先来看一段代码 namespace Dao { public interface IPersonDao { void Save(); } public class PersonDao : IPersonDao { public void Save() { Console.WriteLine("保存 Person"); } } } namespace SpringNetIoC { class Program { private static void NormalMethod() { IPersonDao dao = new PersonDao(); dao.Save(); Console.WriteLine("我是一般方法"); } } } Program 必然需要知道 IPersonDao 接口和PersonDao 类。为了不暴露具体实现,我可以运用设计模式中的抽象工厂模式(Abstract Factory )来解决。 namespace DaoFactory { public static class DataAccess { public static IPersonDao CreatePersonDao() { return new PersonDao(); } } } 复制代码 namespace SpringNetIoC { class Program { private static void FactoryMethod() { IPersonDao dao = DataAccess.CreatePersonDao(); dao.Save(); Console.WriteLine("我是工厂方法"); } } } 这时,Program 只需要知道IPersonDao 接口和工厂,而不需要知道PersonDao 类。然后我们试图想象,要是有这样的工厂框架帮我们管理依赖的对象就好了,于是控制反转出来了。
一个简单的控制反转例子

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

确认删除?