随笔分类 - Ninject
摘要:在很多情况下,同一类型的实例需要在整个应用范围内被使用,通常的做法是使用单例模式:1 sealed class Shogun 2 {3 public static readonly Shogun Instance = new Shogun();4 private Shogun() { }5 public void RuleWithIronFist() 6 {7 ...8 }9 }Ninject使单例模式的应用更加简单,不需要更多额外的代码,只需要告诉Ninject绑定单例范围内的类。1 kernel.Bind<Shogun>().ToSe...
阅读全文
摘要:下面介绍一下如何在Ninject范围内多次注入。现在,我们要给士兵装备多种武器,有剑有大刀。修改Samuria类,修改后的代码如下: 1 class Samurai 2 { 3 readonly IWeapon[] weapons; 4 public Samurai(IWeapon[] weapons) 5 { 6 this.weapons = weapons; 7 } 8 9 public void Attack(string targer)10 {11 ...
阅读全文
摘要:与其手动费时费力地实现,不如利用Ninject方便的实现我们的需求。Ninject如何将你需要的类型返回给你拿前面的例子,士兵类: 1 class Samurai 2 { 3 readonly IWeapon weapon; 4 public Samurai(IWeapon weapon) 5 { 6 this.weapon = weapon; 7 } 8 9 public void Attack(string target) 10 {11 this.weapon.Hit(target);12 }13...
阅读全文
摘要:本系列笔记来自Ninject官方网站:http://www.ninject.org/wiki.html一,Ninject介绍Ninject是一个.net平台的依赖注入框架,借助于Ninject,我们使我们的程序变得更易于维护和修改。手动实现依赖入注看一个例子,现在我们要做一个控制台项目,一个士兵对抗恐怖分子的游戏。我们首先构造一个武器——剑。1 class Sword2 {3 public void Hit(string target)4 {5 Console.WriteLine("Chopped {0} clean in h...
阅读全文