【问题标题】:How much work should we delegate to Mongo and not java?我们应该将多少工作委托给 Mongo 而不是 java?
【发布时间】:2021-03-09 05:46:09
【问题描述】:

我有一个基于 ID 从 MongoDB 获取数据的应用程序。我正在做并鼓励我的团队做的是 Mongo 应该检索 java API 必须返回的响应,因此我们只需使用 java 将 Mongo 响应映射到 pojo。这是正确的方法吗?我们是否应该将尽可能多的处理委托给 Mongo,以避免使用 Java 编程来根据来自 MongoDB 的数据创建响应?

【问题讨论】:

  • 您当前的方法非常标准,然后您的应用程序将从 Java POJO 将 POJO 序列化为 JSON 字符串以返回给调用者。如果您确实需要在此处提供正式答案,请在此处提供更多详细信息。

标签: java mongodb spring-boot


【解决方案1】:

相当主观,这取决于,但这是思考过程

API 接口和数据库应该始终解耦。 API 签名中预期的任何更改都不应导致每次都更改数据库,反之亦然。

您的数据库查询结果可以与您代码中的域实体匹配,并有一个映射器来按照 API 中的预期映射字段。这样一来,您的域逻辑更改频率就会降低(并且错误更少)

不过,如果性能是主要考虑因素,那么 API 仅映射和获取所需的值是有意义的。

Spring-boot 的问题是默认的分层架构。虽然它适用于较小的应用程序,但一切都是通过中心的数据源实现的。因此,设计变成了数据驱动而不是领域驱动。我建议你开始研究 DDD 和六边形架构。

【讨论】:

    猜你喜欢
    • 2011-06-23
    • 1970-01-01
    • 2019-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多