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();
输出为:
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索unity
, 容器
, play
, mp3 player
, public
, Injection
WriteLine
unity application、unity3d application、unity5 application、application、common application,以便于您获取更多的相关知识。