什么是抽象不同后端的最佳设计模式?

时间:2015-03-07 11:27:21

标签: design-patterns backend abstraction

假设您编写了一个SVG库,但希望为多个XML解析库提供支持。

或者你有一个游戏引擎,并且想要支持OpenGL和DirectX。

哪种设计模式最能实现这种实现抽象?

3 个答案:

答案 0 :(得分:2)

Strategy模式非常适合此问题。

在您的特定情况下,OpenGL和DirectX是两种不同的渲染图形策略。或者,JAXB和XmBeans可以是两种不同的解析XML文件的策略。

答案 1 :(得分:1)

这可能是适配器模式的一个实例,您需要对XML解析库进行调整(通过中间类),以便它们可以与您的系统进行交互。

在实践中,您将定义系统所需的接口,并且将与系统一起使用的任何XML解析库都具有适配器(包装器)以使其接口变得兼容。

答案 2 :(得分:0)

我认为这将是Abstract Factory模式的完美用例。假设你在Linux系统上,你将创建OpenGlFactory。在Windows框中,您将创建DirectXFactory。使用工厂界面,您可以创建正确的上下文,渲染器,相机等实现。无论需要什么。

检查链接以获取示例。