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中,讓程序自動加載注入
在需要使用的地方,直接resolve想要的對象就行。
目前比較模糊的是resolve裏面如何實現???