orchard 阅读笔记 ——— IOC
准备用Ochard来做二次开发,下载了1.6版本,发现代码写的非常好。我眼中的非常好是浏览一遍发现什么都不懂,渐渐的深入去看,发现代码逻辑性
很强。框架结构清晰。不像我所接触的工作中的项目,浏览一遍好像了解的差不多了,越深入越觉得杂乱无章。牢骚过后,进入正题。
orchard cms 使用 Autofac框架作为IOC framework. 关于Autofact以及IOC的知识这里不描述。
先看代码:
private static IOrchardHost HostInitialization( HttpApplication application )
{
var host = OrchardStarter.CreateHost( MvcSingletons );
host.Initialize();
// initialize shells to speed up the first dynamic query
host.BeginRequest();
host.EndRequest();
return host;
}
static void MvcSingletons( ContainerBuilder builder ){
builder.Register( ctx => RouteTable.Routes ).SingleInstance();
builder.Register( ctx => ModelBinders.Binders ).SingleInstance();
builder.Register( ctx => ViewEngines.Engines ).SingleInstance();
}
在global.cs中,Orchard首先建立了一个IOC容器。F12后你会看到
浙公网安备 33010602011771号