如果大家研究一些開源項目,會發(fā)現(xiàn)無處不在的DI(Dependency Injection依賴注入)。
本篇文章將會詳細講述如何在MVC中使用Ninject實現(xiàn)DI
文章提綱
場景描述 & 問題引出
第一輪重構(gòu)
引入Ninject
第二輪重構(gòu)
總結(jié)
場景描述 & 問題引出
DI是一種實現(xiàn)組件解耦的設(shè)計模式。
先模擬一個場景來引出問題,我們直接使用Ninject官網(wǎng)的示例:一群勇士為了榮耀而戰(zhàn)。
首先,我們需要一件合適的武器裝備這些勇士。
class Sword { public void Hit(string target) { Console.WriteLine("Chopped {0} clean in half", target); } }
其次,我們定義勇士類。
勇士有一個Attack()方法,用來攻擊敵人。
class Samurai{ readonly Sword sword; public Samurai() { this.sword = new Sword(); } &