Closed. This question does not meet Stack Overflow guidelines。它当前不接受答案。












想改善这个问题吗?更新问题,以便将其作为on-topic用于堆栈溢出。

上个月关闭。



Improve this question




我想向团队展示Adapter Pattern的用法。我已经在线阅读了许多书籍和文章。每个人都在举一个例子,可以帮助您理解该概念(形状,存储卡,电子适配器等),但没有实际案例研究。

您能否分享一下适配器模式的任何案例研究?

ps。我尝试搜索关于stackoverflow的现有问题,但没有找到答案,因此将其发布为新问题。如果您知道已经有了答案,请重定向。

最佳答案

Adapter的许多示例都是琐碎的或不切实际的(Rectangle vs. LegacyRectangle, Ratchet vs. SocketSquarePeg vs RoundPegDuck vs. Turkey)。更糟糕的是,许多人没有为不同的适配者(someone cited Java's Arrays.asList as an example of the adapter pattern)显示多个适配器。调整仅一个类的接口(interface)以与另一个类一起使用似乎是GoF适配器模式的一个较弱的示例。这种模式使用继承和多态性,因此可以期待一个很好的示例来展示针对不同适配器的适配器的多种实现。

我发现的最佳示例是Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition)的第26章。下图来自该书的FTP站点上提供的指导 Material 。

第一个展示了应用程序如何使用功能上相似(例如,税收计算器,会计模块,信用授权服务等)但具有不同API的多个实现(适配器)。我们希望避免对域层代码进行硬编码,以处理计算税款,售后,授权信用卡申请等各种可能的方式。所有这些都是可能有所不同的外部模块,因此我们无法对其进行修改码。适配器允许我们在适配器中进行硬编码,而我们的域层代码始终使用相同的接口(interface)(IWhateverAdapter接口(interface))。

在上图中我们看不到实际的适应者。但是,下图显示了如何在IAccountingAdapter接口(interface)中对postSale(...)进行多态调用,从而通过SOAP将销售过帐到SAP系统。

关于oop - adapter-任何真实的适配器模式示例,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11079605/

10-10 09:51