gpt4 book ai didi

java - 适配器和访问者模式是否适合我的用例?

转载 作者:太空宇宙 更新时间:2023-11-04 12:50:23 26 4
gpt4 key购买 nike

我的用例是,我向返回不同外部数据类型的各种 API 发出请求。然后,我必须使用从其他 API 检索到的附加元数据来装饰数据。然后我根据客户的需求返回响应。

首先,我发出数据请求,并根据这些结果,为每条数据检索适当的元数据。

到目前为止我的方法:

  1. 调用 API 并接收外部类型
  2. 使用适配器模式将外部类型转换为内部接口(interface)
  3. 调用其他 API 来检索每个数据片段的元数据
  4. 使用访问者模式改变适应的内部对象
  5. 为客户端设置适当的内部对象格式

我担心#3(编辑:我担心#4,而不是#3)。在适应的内部类型上使用访问者模式是否合适或者是否有更简单的方法?创建每个访问者操作以不同的方式按顺序改变对象是一个好习惯吗? (即在数据对象列表中设置字段)

最佳答案

基于我们在聊天中的讨论:

Mutate the adapted internal object with Visitor pattern

其实你的要求可以用 Builder 来满足模式而不是访问者模式,因为您必须逐渐构建对象。

Visitor是行为模式,它有不同的目的:

必须对结构中分组的不同类型的对象执行类似的操作

相关SE问题:

When would you use the Builder Pattern?

When should I use the Visitor Design Pattern?

Convert external types to an internal interface with Adapter pattern

Adapter是一种结构模式。如果要将外部接口(interface)转换为内部接口(interface)(结构),可以使用Adapter模式。

如果你想将外部对象转化为内部对象,无需任何模式即可实现。您只需要一个 Transform 函数(在 Builder 行上)。

看看相关的SE问题(没有模式的对象转换):

How to prune an object of some of its fields in Java?

关于java - 适配器和访问者模式是否适合我的用例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35889292/

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