适配器模式,每个适配器具有不同的能力

时间:2017-10-23 19:52:17

标签: design-patterns adapter

我正在编写一个程序,它将使用适配器模式来处理少数API。目标是能够组合和聚合来自每个API的数据。问题是,并非每个API都具有相同的功能。例如:

API A

  • 列出所有市场
  • 列出具体市场​​价格
  • 列出订单

API B

  • 列出具体市场​​价格
  • 列出市场24小时高/低

注意API B如何能够获得24小时价格的高点和低点,但API A不能。同时,API A可列出所有可用市场,而API B则不能。

接近这样的场景的理想方法是什么?

  • 我曾考虑使用FLAGS枚举列出每个API的功能,但这感觉就像是一种迂回的做事方式,需要大量额外的代码来检查和诸如此类的。
  • 我已经考虑了API可以处理的每种能力的单独适配器,但这可能需要大量的继承,以至于每个API仅使用5个以上的接口。

我的目标是让程序在未来轻松扩展到其他API。如果这是我的目标,我该如何处理? (如果重要,我正在使用C#)

1 个答案:

答案 0 :(得分:0)

超薄界面是你的朋友。

使用您的示例:

AtomicConfiguration#backups

现在我们已经完成了代码,我建议我们避免接近"我如何使用这种模式来解决X?"而是从一个角度处理事物"我有这个问题X?我该如何解决X?有没有一种模式可以帮助我解决它?"