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

时间:2016-03-09 10:43:09

标签: java oop design-patterns architecture adapter

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

首先,我正在请求数据,根据这些结果,我正在检索每个数据的相应元数据。

到目前为止我的方法:

  1. 调用API并接收外部类型
  2. 使用适配器模式
  3. 将外部类型转换为内部接口
  4. 调用其他API以检索每个数据的元数据
  5. 使用访客模式
  6. 变更已调整的内部对象
  7. 为客户端正确格式化内部对象
  8. 我关注#3(编辑:我关注的是#4,而不是#3)。在适应的内部类型上使用访客模式是否合适或是否有更简单的方法?创建访问者操作是不是一个好习惯,每个操作都以不同的方式按顺序改变对象? (即设置数据对象列表中的字段)

1 个答案:

答案 0 :(得分:0)

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

  

使用访客模式

突变已调整的内部对象

实际上,您的要求可以使用Builder模式而不是访问者模式来实现,因为您必须逐渐构建对象。

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

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

相关的SE问题:

When would you use the Builder Pattern?

When should I use the Visitor Design Pattern?

  

使用适配器模式

将外部类型转换为内部接口

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

如果要将外部对象转换为内部对象,则可以在没有任何模式的情况下实现它。你只需要一个转换函数(在Builder的行上)。

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

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