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(); } } }