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中,讓程序自動加載注入

在需要使用的地方,直接resolve想要的對象就行。

目前比較模糊的是resolve裏面如何實現???

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章