具有更严格输入标准的子类的替代方法

时间:2012-12-21 15:10:06

标签: php class inheritance

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

EntityPatcher:http://pastebin.com/CYa3ehH4

ItemPatcher:http://pastebin.com/3BReBZGH

1 个答案:

答案 0 :(得分:0)