假设您编写了一个SVG库,但希望为多个XML解析库提供支持。
或者你有一个游戏引擎,并且想要支持OpenGL和DirectX。
哪种设计模式最能实现这种实现抽象?
答案 0 :(得分:2)
Strategy模式非常适合此问题。
在您的特定情况下,OpenGL和DirectX是两种不同的渲染图形策略。或者,JAXB和XmBeans可以是两种不同的解析XML文件的策略。
答案 1 :(得分:1)
这可能是适配器模式的一个实例,您需要对XML解析库进行调整(通过中间类),以便它们可以与您的系统进行交互。
在实践中,您将定义系统所需的接口,并且将与系统一起使用的任何XML解析库都具有适配器(包装器)以使其接口变得兼容。
答案 2 :(得分:0)
我认为这将是Abstract Factory模式的完美用例。假设你在Linux系统上,你将创建OpenGlFactory。在Windows框中,您将创建DirectXFactory。使用工厂界面,您可以创建正确的上下文,渲染器,相机等实现。无论需要什么。
检查链接以获取示例。