【发布时间】:2025-12-29 02:45:10
【问题描述】:
我正在寻找有关设计新 ASP.NET Mvc 项目的好方法的建议。它中等大小,结构相对简单。我最初使用 Spring.Net 将我的服务对象连接到正确的构造函数中,但现在管理层告诉我 Spring.Net 或任何其他 IOC 容器不能在我们的环境中使用。
在没有 DI 的情况下,我很难找到一种设置它的好方法。我希望能够以允许控制器和服务之间的少量耦合并尽可能限制控制器对单个服务实现的可靠性的方式将服务实现分配给控制器。我想我的问题归结为一个事实,即我不确定我应该在 MVC 模型中手动连接我的应用程序的位置。
有什么建议吗?
【问题讨论】:
-
我很好奇为什么管理层规定你不能使用 DI?管理层为开发人员做出这种性质的技术决策是否正常?如果是这样...运行。
-
这是一个很好的问题,我不确定,这里的其他一些开发人员并不真正熟悉这个概念,也不想尝试,所以管理层支持他们暂时。
-
由于托管扩展框架 (mef.codeplex.com) 是 .Net 的一部分,同样的限制是否适用?
-
使用像 ninject 这样的依赖注入框架使 DI 变得微不足道。也许您应该与团队和高层管理人员重新讨论这个话题?
-
@zaq:在这种情况下,跟随团队的领导者,不要强迫团队冲突。但是,只要可以,请根据自己的(最高)标准设计和编写您制作的代码。换句话说,考虑到依赖注入(即使用糟糕的 mans DI),并通过单元测试支持您的代码。这样,您将尽自己的一份力量来编写好的软件。换句话说,以身作则。时机成熟时,请仔细激励您的队友和团队领导深入研究 DI。我同意团队负责人的观点,即 DI 感觉很复杂(起初),但它非常值得付出努力。
标签: c# .net asp.net asp.net-mvc-3 dependency-injection