3

我有一个 Entity 类和一个派生 Item 类,其中包含一些额外的东西。我正在创建一些东西,我可以用它来修补这些对象(即对它们应用差异)。我目前拥有的是一个 EntityPatcher 类,它将 Entity 对象转换为关联数组,然后将其提供给通用修补实用程序(使用组合)。这对 Entity 对象很有用,但对于 Item 对象,需要考虑一些额外的字段。我开始做的是创建一个派生 ItemPatcher 类,其中包含一些额外的东西。不过,此类只能与 Items 一起使用,从而缩小了 patch 方法接受的范围。我猜这很糟糕,因为它违反了liskov替换。我不确定什么是更好的方法,因此我正在寻找替代解决方案的建议或指针。

实体修补程序: http ://pastebin.com/CYa3ehH4

物品修补程序: http ://pastebin.com/3BReBZGH

4

1 回答 1

0

听起来你想应用适配器模式

http://en.wikipedia.org/wiki/Adapter_pattern

于 2013-02-24T02:45:34.253 回答