轻量级IOC框架:Ninject
Ninject通过NinjectModule来配置依赖注入(不知道有没有文件配置,在官方教程里没找到相关资料),这里自定义自己的Module: internal class MyModule : Ninject.Modules.NinjectModule { public override void Load() { Bind<ILogger>().To<FlatFileLogger>(); Bind<ILogger>().To<DatabaseLogger>(); } } 具体调用方法: private static IKernel kernel = new StandardKernel(new MyModule()); static void Main(string[] args) { ILogger logger = kernel.Get<ILogger>(); logger.Write("Bruce Say: Hello Ninject!"); Console.WriteLine("continues.."); Console.Read(); } 通过 kernel.Get<ILogger>() 来获取ILogger的实例,之前在MyModule里先后对ILogger