以下是通過(ioc框架)unity方式實現簡單的依賴注入
1.定義公共介面
inte***ce ibook
2.建立兩個類,繼承自介面 ibook
class booka : ibook
public string getname()
}class bookb : ibook
}3.通過配置檔案註冊容器及指定主函式需要建立那個類(booka/bookb)的物件
<?xml version="1.0" encoding="utf-8" ?>
4.主函式中呼叫
using microsoft.practices.unity;
using microsoft.practices.unity.configuration;
using system;
using system.collections.generic;
using system.configuration;
using system.linq;
using system.text;
using system.threading.tasks;
using unity;
unityconfigurationsection section = (unityconfigurationsection)configurationmanager.getsection("myunity");
//以下兩行作用相同
container.loadconfiguration(section, "mycontainer");
"mycontainer");
var list = new parameteroverrides();
list.add("param", "踏浪帥2");
//帶參構造函式呼叫
ibook book = container.resolve(list);
//無參構造函式呼叫
//ibook book = container.resolve();
obj = book.getname();
}console.writeline(obj);
console.readkey();}}
}
設計模式 依賴注入
1 背景 現在有乙個使用場景 司機開車 一般這樣寫 public driver 2 問題 1 耦合度高 driver中建立和持有car這個類,管理car的生命週期 2 不易維護 car的通用性太強,無法細分汽車型號等等引數 比如自動擋和手動擋 以實現不同處理 不同汽車,點火,掛檔,踩油門,打方向等等...
設計模式 控制反轉 依賴注入
一 控制反 從簡單的 示例入手 郵件服務類 public class emailservice 郵件通知類 public class notifycationsystem 共兩個類,乙個郵件服務類,乙個郵件通知類,郵件通知類依賴於郵件服務類。郵件通知類必須精確的知道建立和使用了哪種型別的服務,此處高...
設計模式 控制反轉 依賴注入
一 控制反 從簡單的 示例入手 郵件服務類 public class emailservice 郵件通知類 public class notifycationsystem 共兩個類,乙個郵件服務類,乙個郵件通知類,郵件通知類依賴於郵件服務類。郵件通知類必須精確的知道建立和使用了哪種型別的服務,此處高...