本周末试图学习在MVC中从头开始构建分层项目,并且依赖注入正在造成损失。我的解决方案是这样构建的:
Web.UI | 服务接口 | 服务实现 | 等等...
UnityConfig就像大多数教程所建议的那样在App_Start中,但是当尝试使用它们的实现解析接口时,我不能,因为UI项目只引用接口。这是我第一次尝试将架构正确应用到尚未构建的项目中,并且教程似乎始终建议您可以引用两者,这与基本模式相反。
我似乎无法找到一个很好的教程,这似乎不会简化同一个项目中两个类或极端相反的事情。
代码如下所示:
Global.asax中
public class MvcApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
UnityConfig.Initialise();
}
}
UnityConfig
public static class UnityConfig
{
private static IUnityContainer Initialise()
{
var container = new UnityContainer();
container.RegisterType<ISystemUserService, SystemUserService>();
return container;
}
}