我再次来找你,提出一些最佳做法问题。
我正在开始一个新项目,我希望能够正确测试它,因此我转向IoC和依赖注入。我已经对这个概念了解了很多,但我想问你一些小细节。
我将使用3层应用程序架构
ASP.NET - > BLL - > DAL
第一个问题 我的第一个问题是如何最好地解决依赖关系。将它们注入到构造函数中,在我看来,在某些情况下,我会有很多依赖的biiig构造函数,即使在实际的代码路径中我只需要其中的一些。 另外我关心的是实例化我可能需要的所有依赖项,但是不正确,或者可能需要能够实例化更低的东西(我知道你应该从依赖项解析器中获取它)? 所以问题:如何在不浪费资源的情况下注入多个依赖项,或者使init缓慢
第二个问题 依赖关系将在我的MVC应用程序中给予很多控制器,并且在这里间接使用依赖关系是明智的,同样适用于BLL。但DAL深入怎么样?假设除了其他一些数据提供者之外,我还需要使用CustomerDataProvider和OrderDataProvider。我是直接实例化它还是再次使用依赖注入?
第三个问题 最后一个问题,我如何设法将分片合并到所有这些中?我的所有客户都将在同一个WebServer上运行,但它们每个都有自己的DB(分片),我也有一个Master DB,你如何在NInject中适应这个?
答案 0 :(得分:2)
我会得到Mark Seemann关于DI的书的副本。他有一节关于注射什么,不注意什么。他的一个建议是只注入“易变”的堕落。这将缩短构造函数的参数列表。他的博客可能会涵盖这个主题,但我不确定。