C# 利用Unity 实现IOC
public interface INoticy { void Noticy(string msg); } public class SMSNoticy : INoticy { public void Noticy(string msg) { Console.WriteLine(msg); } } public class Alarm { [Dependency] public INoticy Noticy { get; set; } public void TriggerAlarm() { Noticy.Noticy("test"); } }
public class TestMain { public void test() { UnityContainer con = new UnityContainer(); con.RegisterType<INoticy, SMSNoticy>(); con.RegisterSingleton<Alarm>(); var alarm = con.Resolve<Alarm>(); alarm.TriggerAlarm(); } }
依赖注入最常见的有,构造函数注入,属性注入,接口注入
大型项目比较通用的做法是,将需要注入的内容,放在config中,让程序自动加载注入
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。在需要使用的地方,直接resolve想要的对象就行。
目前比较模糊的是resolve里面如何实现???

更多精彩