2010-11-16 74 views
1

我有四个类似的类结构,从XSD生成,每个是不同的API版本。类似的逻辑,但不同的类(避免重复)

事情是,我有类操作所有这些不同的类结构,但很多代码在所有结构中都是相同的。我不能为每个类设置接口,因为所有类都是从XSD生成的。然而,我想删除我的代码库中的重复...

什么是一个很好的OO解决方案?

谢谢。

回答

0

我会使用一个小对象组合。定义一个包含共享功能的类,并将实例作为每个生成的类的成员。尽量减少您在课堂上保留的可变状态量,以便您可以更轻松地进行测试。

+0

问题在于这些类是从第三方XSD生成的,因此,提取外部成员的内容意味着更改第三方XSD,这并不好。 – Gaisorama 2010-11-20 11:53:09

0

我可能会去使用一个门面类。这门课是你需要了解其他四门课的一点。它处理中继呼叫到正确的类。通过这种方式,您不仅可以减少重复代码,还可以从代码库的其余部分中提取API,从而更轻松地处理API中的更改。

HTH。

+0

这听起来像一个很好的计划......然而,有没有什么模式或建议如何做到这一点?我的意思是,在我提取行为的意义上说,门面类只是丑陋的,但是价值设置/检索必须“一个接一个”完成。我不得不说它可能是通用的,以告诉我目前正在使用哪个类(ThirdPartyClassV1等)...任何示例都将被赞赏,因为我仍然不知道如何以优雅的方式实现此目标。 – Gaisorama 2010-11-20 11:56:40

相关问题