我们有一个网站应用程序和一个 Web 服务层。该网站必须按照我们的要求使用网络服务获取数据。这两层都是由我建造的。我很好奇我的 DI 布局是否合理。
公共实体项目 - 由网站和 Web 服务层共享
ASP.NET MVC 网站——MVC 服务层——注入具体类以包含网站/页面的业务规则————数据存储库——由 MVC 服务层注入。在这种情况下,目前有各种 Web 服务调用的包装器,但情况可能会发生变化
Web 服务——服务/业务层——注入类来处理服务的业务逻辑————数据存储库——注入上面业务层使用的数据类。可以是 ADO 或 EF。
所以,任何调用最多可以进行4层注入。我看到了这样做的好处,因为每个部分都可以被隔离和测试。在某些情况下,业务层可以只是“通过”到数据层(例如,GetClientByID(int id) 几乎没有逻辑),但在规则发生变化时会存在。我觉得数据层的注入从 Web 服务中抽象出任何自动生成的实体。幸运的是,就我目前而言,它共享一个共同的项目,但谁知道这是否会保持这种状态。
这太多了吗?谢谢。