首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >API DTO应该是针对客户(S)还是通用的?

API DTO应该是针对客户(S)还是通用的?
EN

Software Engineering用户
提问于 2015-11-03 14:48:27
回答 1查看 945关注 0票数 2

我有一个带有内部桌面客户端应用程序和服务器端客户端API服务的项目,可以与关系数据库对话。我似乎有两个选择:

1)将DTO形状为客户端视图,例如主细节GUI场景的AccountOverviewInfoDto和AccountFullDetailsDto:

    • 传输最优数据量;

    • 服务器端数据库查询比较优化;

    • 需要较少的对象转换/映射(域-> DTO);

    • DTO耦合到不同的客户端GUI范例(桌面大屏幕和移动小屏幕);

    • 客户端API在更改和部署方面耦合到客户端应用程序。

2)使DTO“通用”,使其与域模型保持接近,然后通过viewmodel对象将其塑造为GUI:

    • 传输非最优数据量;

    • 服务器端数据库查询不太理想;

    • 需要更多的对象转换/映射(域->、DTO、->视图模型)。

    • DTO与不同的客户端GUI范例(桌面大屏幕和移动小屏幕)脱钩;

    • 客户端API在更改和部署方面与客户端应用程序分离。

如果有的话,最好的做法是什么?还有别的选择吗?

EN

回答 1

Software Engineering用户

回答已采纳

发布于 2015-11-03 14:58:49

确保你在优化正确的东西。

如果您正在编写MMO,那么减少一秒钟的传输时间或减少一些数据的几个字节可能是很重要的。

对于一个公司内部的应用来说,最关键的资源就是你的时间。如果选择2(不是特定于视图的通用DTO),那么编写一次代码的可能性会更大。

如果使用选项1(DTO对特定视图进行了“调优”),您将经常回到这段代码中,编写/添加字段/删除字段,以此类推。

我强烈建议您保持代码的简单和简短(这意味着通用的DTO),直到特定的测试证明您实际上存在性能问题。

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

https://softwareengineering.stackexchange.com/questions/301599

复制
相关文章

相似问题

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