这篇简要介绍IoC开源框架Ninject的基本使用.
一. 引入Ninject
这一步可以通过NuGet来获取到最新的Ninject
二. 构建容器
在我们的Project跟目录下建立一个BootStrapper的类,如下所示:
public
class
BootStrapper
{
public
static
void
ConfigureNinject()
{
IKernel kernel =
new
StandardKernel(
new
RepositoryModule());
}
}
|
三. 建立映射关系(Mapping)
这个类必须是一个NinjectModule的子类, 重写它的Load方法来完成Mapping
|
public
class
RepositoryModule : NinjectModule
{
public
override
void
Load()
{
Bind<ISessionRepository>().To<NullSessionRepository>();
Bind<ICommentRepository>().To<CommentRepository>();
Bind<IFighterRepository>().To<NullFighterRepository>();
Bind<IPlayerRepository>().To<NullPlayerRepository>();
Bind<IScoreRepository>().To<NullScoreRepository>();
}
}
|
四. 在Application Startup中初始化IoC容器
针对Web Application我们可以加入到Application_Start方法中
|
protected
void
Application_Start()
{
BootStrapper.ConfigureNinject();
}
|
五. 在项目中调用
|
OrderService orderService = ObjectFactory.GetInstance<OrderService>();
|