C 設計模式之依賴注入

2021-09-12 23:12:27 字數 1115 閱讀 5599

以下是通過(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 共兩個類,乙個郵件服務類,乙個郵件通知類,郵件通知類依賴於郵件服務類。郵件通知類必須精確的知道建立和使用了哪種型別的服務,此處高...