如果大家研究一些开源项目,会发现无处不在的DI(Dependency Injection依赖注入)。
本篇文章将会详细讲述如何在MVC中使用Ninject实现DI
文章提纲
场景描述 & 问题引出
第一轮重构
引入Ninject
第二轮重构
总结
场景描述 & 问题引出
DI是一种实现组件解耦的设计模式。
先模拟一个场景来引出问题,我们直接使用Ninject官网的示例:一群勇士为了荣耀而战。
首先,我们需要一件合适的武器装备这些勇士。
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(); } &