首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DTOS作为InputModel / ViewModel在分层结构中的应用

DTOS作为InputModel / ViewModel在分层结构中的应用
EN

Stack Overflow用户
提问于 2015-08-19 14:30:05
回答 2查看 373关注 0票数 1

我试图了解InputModel和ViewModels在4层体系结构中的位置。

表示-应用程序-域-域-基础设施

考虑到应用层关注表示层和域层之间的数据交换,我假设它们必须驻留在该层中,以及适配器将其转换回域实体,反之亦然。

InputModels,也称为命令,在ASP.NET MVC中,它们可以与ViewModels相吻合。

在演示文稿中,ViewModels对我来说没有任何意义。从应用层,我应该将ViewModels返回到表示,并将ViewModels接收到Mapp,然后返回到域实体。如果演示文稿中有ViewModels,并且演示文稿引用了应用层,那么我将有一个循环引用。

而且,例如,如果我在Windows中构建了一个演示文稿,并且我有必要为ASP.NET应用程序修改它,那么我将失去适合我的需求的ViewModels,这是一个遗憾,因为我已经内置了所有的东西来改变表示技术。

我正在读Dino Esposito和Andrea的书,微软.NET:企业架构。他们不谈论太多的应用层,只是说,这个应该编排域服务和存储库,以充分填充用户案例,并隐藏域不受演示。

是这样的吗?我应该把这个DTO放到应用层吗?如果没有,它们在拉桑纳上的位置是什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-08-19 15:53:47

DTO应在依赖食物链中两个层次中哪个较高的层中定义,以避免循环引用。这意味着洋葱 /六边形体系结构中的应用程序层,因为依赖关系指向内部-表示引用应用程序。我不知道其他的分层架构风格。或者,您可以将DTO放置在他们自己的单独层中,这将被其他两个人引用并站在他们之上。

票数 5
EN

Stack Overflow用户

发布于 2015-08-19 19:37:22

DTO不是问题域的一部分,它们是实现细节。所以问题是,实现的哪一部分是使用DTO?然而,DDD中的实体应该完全独立于任何实现,并且只处理特定领域的业务逻辑。

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

https://stackoverflow.com/questions/32098386

复制
相关文章

相似问题

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