面向对象设计问题

6
我需要创建一个类,它可以基于其他对象建立XML配置文件。
有三种不同的对象。所有对象的构建算法非常相似,但并不完全相同。
我考虑使用一个带有抽象方法的基类,然后只需创建派生类,其中我将覆盖抽象方法。
但问题是这三个对象没有共同的接口或基类。这些对象是第三方组件。我无法重构它们。因此,所有对象之间没有任何共同的约定。
在这种情况下是否有便利的解决方案?也许有我不知道的设计模式?

1
你的代码中支持的类型是否可能会发生变化?也就是说,解决方案是否应该易于扩展以支持更多的第三方类型?如果不是,那么只需使用一个基类来执行通用工作,并使用派生类来处理任何特定的工作。 - Grant Thomas
4个回答

3
您可以定义一个XMLSerializable抽象类,然后使用适配器模式将这些第三方组件适配成XMLSerializable对象。

1

您可以创建3个自定义类,分别扩展它们[I am not sure about C#],并实现一个公共契约。


1

Facade 似乎适合你的情况。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接