Microsoft.Practices.Unity依赖注入使用实例
2010-03-16 11:58
746 查看
Unity是微软模式与实践团队开发的一个轻量级、可扩展的依赖注入容器。官方主页是:http://www.codeplex.com/unity,最新版本是1.2,包括在Microsoft Enterprise Library中。
使用实例:
为了接下来的使用,准备接口和类:
public interface ILogger
{
void Write(string message);
}
public class TextFileLogger:ILogger
{
public void Write(string message)
{
Console.WriteLine("Writed Log To File:\t" +message);
}
}
public class DatabaseLogger:ILogger
{
public void Write(string message)
{
Console.WriteLine("Writed Log To Database:\t" + message);
}
}
创建容器:
一个容器中也可包括多个子容器
代码
运行结果:
使用实例:
为了接下来的使用,准备接口和类:
public interface ILogger
{
void Write(string message);
}
public class TextFileLogger:ILogger
{
public void Write(string message)
{
Console.WriteLine("Writed Log To File:\t" +message);
}
}
public class DatabaseLogger:ILogger
{
public void Write(string message)
{
Console.WriteLine("Writed Log To Database:\t" + message);
}
}
创建容器:
class Program { static void Main(string[] args) { IUnityContainer container = new UnityContainer(); } }
一个容器中也可包括多个子容器
args) { IUnityContainer parentContainer = new UnityContainer()]通过代码方式注册对象到容器:
代码
IUnityContainer container = new UnityContainer(); UnityConfigurationSection config = ConfigurationManager.GetSection("unity") as UnityConfigurationSection; config.Containers.Default.Configure(container); ILogger defaultLogger = container.Resolve<ILogger>(); defaultLogger.Write(" hello Unity!"); ILogger databaseLogger = container.Resolve<ILogger>("databaseLogger"); databaseLogger.Write(" hello Unity!"); Console.WriteLine(databaseLogger.GetHashCode()); //第二次获取注册的实例,比较两次的获取的对象是否相同 ILogger databaseLogger2 = container.Resolve<ILogger>("databaseLogger"); databaseLogger.Write(" hello Unity!"); Console.WriteLine(databaseLogger2.GetHashCode());
运行结果:
相关文章推荐
- (转)Microsoft.Practices.Unity依赖注入使用实例
- Microsoft.Practices.Unity依赖注入使用实例
- Microsoft.Practices.Unity依赖注入使用实例
- Microsoft.Practices.Unity依赖注入使用实例
- (转)Microsoft.Practices.Unity依赖注入使用实例
- Microsoft.Practices.Unity依赖注入使用实例
- 使用Microsoft.Practices.Unity 依赖注入
- C#实例 Unity依赖注入使用
- Microsoft.Practices.Unity实现代码依赖注入、XML依赖注入和AOP切面编程
- Unity Application Block 1.0系列(5): 使用BuildUp让已存在对象实例也支持依赖注入
- C#实例:Unity依赖注入使用
- Unity Application Block 1.0系列(5): 使用BuildUp让已存在对象实例也支持依赖注入
- Microsoft.Practices.Unity 依赖注入
- 用Microsoft.Practices.Unity实现简单的依赖注入
- 运用Unity实现依赖注入[结合简单三层实例]
- 在 mvc 4 中使用 unity 进行依赖注入
- 【ASP.Net MVC3 】使用Unity 实现依赖注入
- ASP.NET MVC中使用Unity进行依赖注入的三种方式
- 使用 Unity Application Block(三):理解和使用依赖注入的键
- Microsoft.Practices.Unity mvc controller 注入