【发布时间】:2014-02-04 14:53:33
【问题描述】:
我有一个 n 层应用程序(DAL、BLL、服务层和 UI),我们正在重新开发一个新的 UI 层,该层将使用 MVC 并在控制器中注入服务类依赖项。 我相信我们可以实现与 UI 和服务层的松散耦合,但是 DAL 和 BLL 类是从现有/旧代码库继承的,并且没有为每个类定义任何接口。服务类的示例如下所示:
public class OrderService : IOrderService
{
OrderBL _orderBL = new OrderBL();
public void OrderSomething(int somethingID) { _orderBL.DoSomething(somethingID); ... }
...
}
如您所见,OrderService 直接依赖于 OrderBL。在我对架构/模式的有限理解中,这似乎违反了 DI 原则。遗憾的是,我们目前无法直接修改 BLL 和 DAL。 所以我的问题是,你将如何处理这种情况以仍然实现业务层和服务层之间的松耦合?
【问题讨论】:
标签: c# design-patterns architecture dependency-injection service-layer