引言:
项目中遇到关于IOC的一些内容,因为和正常的逻辑代码比较起来,IOC有点反常。因此本文记录IOC的一些基础知识,并附有相应的简单实例,而在实际项目中再复杂的应用也只是在基本应用的基础上扩展而来的。本文目的两个,一是记录学习过程,以便将来温故;二是请大牛对小弟指点一二。
概念:
控制反转(Inversion of Control,英文缩写为IoC)是一个重要的面向对象的法则来削减计算机程序的耦合问题,也是轻量级的Spring框架的核心。 控制反转一般分为两种类型,依赖注入(Dependency Injection,简称DI)和依赖查找(Dependency Lookup)。依赖注入应用比较广泛。-百度百科。
简单实例:
下面编写使用IOC实现的简单实例,以便大家对IOC有个初始的概念。功能是输入字符串格式的日志,代码如下:
接口ILogger和具体的Logger类:
public interface ILogger { void Log(string msg); } public class Logger : ILogger { public virtual void Log(string msg) { Console.WriteLine("msg is {0}", msg); } }