gpt4 book ai didi

oop - 在应用程序中与 Elastic 通信的最佳实践

转载 作者:行者123 更新时间:2023-12-02 23:25:58 24 4
gpt4 key购买 nike

这将是我第一次在生产中使用 Elastic。

对于数据库,我使用存储库模式,例如 IOrderRepository 的具体类, IFacetRepository使用 SQL 和 Mongo 驱动程序与 db 进行通信。

该应用程序将从 Elastic 获取所有产品,我使用 Elastic REST Api 获取数据。

在代码库中表示弹性提供者(?)的最佳实践是什么?

我可以继续使用存储库模式,并创建 ProductRepository使用 ElasticClient并进行http调用,但我觉得这不是一个完美的解决方案。

我也无法创建ProductService因为我不希望代码中有任何业务。
单一职责是从弹性获得产品,仅此而已。

可能是mediator pattern是正确的实现方式。

你有什么建议?

最佳答案

我会选择 ProductRepository使用 ElasticClient内部:

  • 一个 Repository是数据库的接口(interface),它的客户不需要知道它的实现是否与关系数据库、MongoDB 或 Elasticsearch 对话。这正是您通过创建 ProductRepository 所要达到的效果。类(class)。
  • 如果将来您从 Elasticsearch 迁移到另一个数据库,例如 DynamoDB,您只需更改 ProductRepository它的客户不会在意。

  • 小心中介者模式,因为随着时间的推移,你最终会得到上帝的对象。

    关于oop - 在应用程序中与 Elastic 通信的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43039722/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com