1

我将给出我的项目解决方案的简化版本。我的解决方案中有以下项目。MVC,核心,数据,通用。Common 包含枚举、静态类、数据传输对象等。没有逻辑,没有程序集。MVC 层可以访问 Core 和 Common。Core 可以访问 Data 和 Common。数据可以访问Common。

我已经让我的类使用接口消耗依赖项。我想为 IoC 实施 Microsoft Unity。我在 MVC、Core 和 Data 项目中添加了 UnityConfig。然后我可以让 Unity 注册每个项目类。这很好用,我认为我的包里有问题。

我团队中的一位开发人员告诉我,我不应该那样做。我正在为所有三层添加一个依赖项。我可以理解他的观点,我想知道在这种环境中实施 Microsoft Unity 的最佳实践是什么。

另一个开发人员希望我将数据层引用添加到 MVC 项目。然后 Unity 可以包含在 MVC 项目中。我真的不喜欢将数据层置于 MVC 项目范围内的想法。我在开发人员使用 Entity 直接调用时遇到过不好的经历,我宁愿强迫他们使用核心层(业务层)并让核心层进行数据库调用。

我还在考虑添加一个单独的项目,以便 Unity 能够看到所有 3 层。有人指出,这可能会产生一个问题,因为它只有一个组合根。不是我之前真正想过的事情。

我真的希望有一个不包括将 MVC 引用添加到数据层的切割器解决方案。

非常感谢您提前。

4

0 回答 0