依赖注入是否违反了与 n 层架构相关的关注点分离?
假设您有以下项目:
MyApp.Data
MyApp.Business
MyApp.Web
如果我使用 DI 来告诉业务层使用哪个数据上下文,这不会违反 SoC 吗?这意味着 UI (MyApp.Web) 必须了解数据访问层 (MyApp.Data) 才能告诉业务层 (MyApp.Business) 使用哪个上下文,对吗?
public class WebForm {
public void Save(Object dto) {
BusinessObject bo = new BusinessObject(Data.MyDataContext);
bo.ValidateAndSave(dto);
}
}
我一直认为,在 n 层架构中,每一层应该只了解下一层(UI 到业务,业务到数据)。这真的不是什么大不了的事吗?