【发布时间】:2020-04-12 21:49:19
【问题描述】:
我正在使用DTO pattern, 我正在使用 Auto Mapper 库来帮助将域对象映射到 DTO 对象,并且效果很好。
现在我的应用程序变得越来越大,我发现自己需要许多不同的 DTO 对象来支持不同的数据需求。
例如,假设我的应用程序显示了一个员工列表,每个员工在我的应用程序中都有一个年龄属性和一个薪水属性。
在我的 UI 中,在一个页面上,我只显示所有员工的列表,在另一个页面上,我显示员工所在部门名称的列表以及每个部门的员工人数,在不同的页面上显示统计各部门平均工资、平均年龄总员工工资等...
考虑到我有很多部门和很多员工(假设有数百万员工和数千个部门,客户无法自行计算统计数据)
我的问题是,您将如何在不创建许多 DTO 的情况下构建为客户端提供服务的 API?并且不进行不必要的计算? 例如:在一个流程中计算一个部门的员工数量而不计算平均工资,在一种情况下平均工资不感兴趣,以便使 API 响应更快,而在另一种情况下计算两者。
还有其他模式可以提高效率吗?
【问题讨论】:
标签: api oop architecture dto