首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >设置层间的依赖反转

设置层间的依赖反转
EN

Stack Overflow用户
提问于 2016-02-28 12:15:12
回答 3查看 248关注 0票数 2

是否有人可以解释如何使用DI IOC在基于层的体系结构中设置层间的依赖关系,以及当我们在UI层中创建组合根时,我们需要引用UI层中的所有dll,这就留给UI开发人员直接访问DAL层对象的范围。这将违反UI层不能直接访问DAL对象的规则。

任何架构师中小企业能否解释使用下面提到的技术栈实现基于分层的体系结构的正确方法。

这里的技术首选是ASP.NET MVC 4、REST服务、企业库(仓库模式)

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-03-02 09:33:29

这个问题的答案给了我答案或解释,我们在寻找Dependency Injection vs Layered Architecture

谢谢

票数 0
EN

Stack Overflow用户

发布于 2016-02-28 17:58:47

我认为这是UI层“不应该”访问DAL层和“不能”的区别。实际上,执行分层会非常复杂,因为DAL确实无法被UI层访问。关键是,您的应该而不是从UI访问DAL。

就像您不应该从UI层访问数据库本身一样,但是没有什么可以阻止流氓开发人员这样做。

顺便问一下,你是手动创建你的作文根吗?您可能应该看看DI框架。它将隔离许多这些依赖,是的,它需要了解所有的层,但它将这些东西保存在一个相当好和干净的地方。这家伙有几个不错的例子:https://rules.ssw.com.au/do-you-know-the-best-dependency-injection-container-(aka-do-not-waste-days-evaluating-ioc-containers)

票数 1
EN

Stack Overflow用户

发布于 2016-02-29 15:38:10

你把N层和DI混在一起。两者都是不相关的概念,不相互依赖。为了获得最好的输出,您需要对这两个概念进行深入的研究,做几个原型,并选择哪个设计最适合您。

这仅仅是因为没有“正确”或“不正确”的方法来使用这些技术栈来实现这两个概念。实现这一目标的方法实在太多了。

例如:简单的3层。由DAL (有数据模型)、BLL引用DAL和表示组成

四层。数据模型层,DAL引用数据模型,BLL引用数据模型,使用依赖注入表示

DDD (域驱动开发),它有域模型、数据库域模型和表示层(与CQRS一起附加)。

做你最熟悉的事。稍后重写。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35682398

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档