【发布时间】:2011-01-12 01:18:37
【问题描述】:
建议使用哪些方法和模式(如果有)来自动设置绑定,而不是手动绑定每个类?
例如,绝大多数绑定看起来像这样:
Bind<ICustomerRepository>.To<CustomerRepository>();
一旦模块变大,您最终可能会得到 100 多个看起来完全相同的绑定。这可以自动化吗?
【问题讨论】:
标签: ninject
建议使用哪些方法和模式(如果有)来自动设置绑定,而不是手动绑定每个类?
例如,绝大多数绑定看起来像这样:
Bind<ICustomerRepository>.To<CustomerRepository>();
一旦模块变大,您最终可能会得到 100 多个看起来完全相同的绑定。这可以自动化吗?
【问题讨论】:
标签: ninject
查看约定扩展: https://github.com/ninject/ninject.extensions.conventions
using (IKernel kernel = new StandardKernel())
{
var scanner = new AssemblyScanner();
scanner.From(Assembly.GetExecutingAssembly());
scanner.BindWith<DefaultBindingGenerator>();
kernel.Scan(scanner);
var instance = kernel.Get<IDefaultConvention>();
instance.ShouldNotBeNull();
instance.ShouldBeInstanceOf<DefaultConvention>();
}
【讨论】: