繁体   English   中英

适配器和访客模式是否适合我的用例?

[英]Are Adapter and Visitor patterns appropriate for my use cases?

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

首先,我要对数据进行请求,然后根据这些结果,为每个数据检索适当的元数据。

到目前为止,我的方法:

  1. 调用API并接收外部类型
  2. 使用适配器模式将外部类型转换为内部接口
  3. 调用其他API来检索每个数据段的元数据
  4. 使用Visitor模式使适应的内部对象突变
  5. 为客户端适当格式化内部对象

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

根据我们在聊天中的讨论:

使用Visitor模式使适应的内部对象突变

实际上,您可以使用Builder模式而不是Visitor模式来满足您的要求,因为您必须逐步构建对象。

访客是一种行为模式,它的目的不同:

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

相关的SE问题:

你什么时候使用Builder模式?

什么时候应该使用访客设计模式?

使用适配器模式将外部类型转换为内部接口

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

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

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

如何在Java中修剪对象的某些字段?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM