【IT168技术文档】
Unity 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();