Welcome

首页 / 软件开发 / .NET编程技术 / Unity Application Block 1.0系列(1):快速开始

Unity Application Block 1.0系列(1):快速开始2010-07-09 cnblogs inrie InrieUnity Application Block (Unity) 是微软 Patterns & Practices 团队开发的一个轻量级、可扩展的依赖注入容器,有助于构建松散耦合的系统。它支持构造子注入 (Constructor Injection) , 属性/设值方法注入 (Property/Setter Injection) 和方法调用注入 (Method Call Injection) 。Patterns & Practices 团队于前些天(4月4日)发布了Unity的第一个正式版本(Unity 1.0)。

准备工作

先看一些接口和类,下面会用到:

public interface IPlayer
{
void Play();
}
public class Mp3Player : IPlayer
{
public void Play()
{
Console.WriteLine("Playing Mp3");
}
}
public class CDPlayer : IPlayer
{
public void Play()
{
Console.WriteLine("Playing CD");
}
}
public class DVDPlayer : IPlayer
{
public void Play()
{
Console.WriteLine("Playing DVD");
}
}
以一个简单的例子开始

//创建Unity容器
IUnityContainer container = new UnityContainer();
//注册类型映射
container.RegisterType<IPlayer, Mp3Player>();
//获取对象实例,由于上一步已在容器中将IPlayer接口映射为Mp3Player类,
//所以这里会自动装载Mp3Player类,创建该类的实例
IPlayer player = container.Resolve<IPlayer>();
//调用实例方法
player.Play();

输出为: