将依赖关系从 BusinessLogic 层注入到外观再到 DataAccessLayer

本文关键字:外观 DataAccessLayer 注入 依赖 关系 BusinessLogic | 更新日期: 2023-09-27 18:33:54

我的WCF应用程序从UI接收RequestContext,在从DB获取数据之前,我有三个层。即 BusinessLogicLayer、FacadeLayer 和 DataAccessLayer。我在每一层都有不同的类来处理该 RequestContext 对象。我正在通过其构造函数将 RequestContext 对象传递给每层的类,如下所示new Facade(RequestContext rqstContext)

由于我有具体的类来接收对象,那么最佳实践是使用类似new Facade(IRequestContext rqstContext)的东西,其中我的 RequestContext 将实现 IRequestContext/或任何抽象类?

将依赖关系从 BusinessLogic 层注入到外观再到 DataAccessLayer

你正在将你的BusinessLogicLayer,FacadeLayer和DataAccessLayer与前端是一个Web应用程序的事实耦合在一起? 这违背了分层的目的。 最佳做法是抽象出您的前端是 Web 的事实,并且只传入您需要的 RequestContext 属性部分。

不要混淆OO(面向对象)和SO(面向服务)。从您的解释来看,请求上下文类似乎是一个 DTO(数据传输对象)。如果您的实体纯粹用于传输数据,则无需对其进行重构和接口。