發表文章

目前顯示的是有「DI」標籤的文章

Dependency Injection原理與實踐(一)

圖片
在目前軟體開發過程中,往往計畫趕不上變化。 需求一而再再而三改 不再可能是等所有規格資訊完整後才開始開發 因此篹體工程師就需要練習撰寫一些 可維護性較高、可調整性高的程式碼來因應需求的頻繁變化 或因應環境升級而導致的第三方套件的不支援(版本只cover4~5年) 在諸多不確定性情境下 而造就的一種程式撰寫手法 Dependency Injection(DI) 目的在於解除物件與物件間,兩者的直接相依關係。 注入又分為 Constructor DI Property DI Method DI 在此用一個員工的Model Class、DAL Class的開發來看差別 我們想透過一專門操控員工的業務邏輯層Class 來獲取一員工清單 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 using System ; using System.Collections.Generic ; using System.Linq ; using System.Text ; using System.Threading.Tasks ; namespace DependencyInjectionExample { public class Employee { public int ID { get ; set ; } public string Name { get ; set ; } public string Department { get ; set ; } } public class EmployeeDAL { public List<Employee> GetAllEmployees() { List<Employee> ListEmployees = new List<Employee...