【问题标题】:Alternative approach to subclasses with stricter input criteria具有更严格输入标准的子类的替代方法
【发布时间】:2012-12-09 04:09:54
【问题描述】:

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

EntityPatcher:http://pastebin.com/CYa3ehH4

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

【问题讨论】:

    标签: php class inheritance


    【解决方案1】:

    【讨论】:

      猜你喜欢
      • 2015-05-08
      • 2013-03-31
      • 2019-08-11
      • 1970-01-01
      • 2015-05-11
      • 2012-10-24
      • 2011-08-28
      • 2013-12-28
      相关资源
      最近更新 更多