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

标签 php class inheritance

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

EntityPatcher:http://pastebin.com/CYa3ehH4

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

最佳答案

在我看来,您可能想要应用 adapter pattern .

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

关于php - 具有更严格输入标准的子类的替代方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13992507/

相关文章:

java - 在 Java 中反序列化一个序列化的 php 对象

c#类同时实现和继承

oop - Scala 类继承

c++ - 在继承类型的指针之间进行静态转换

java - 在 Java 中使用不可变类的 Scala 扩展

c++ - 为什么在派生类数据之前初始化基类数据

php - 获取Mysql数据并以分隔符分割

php - 如何使用 PHPseclib 捕获未处理的错误?

php - 如何在PHP项目中使用grunt-usemin?

Python:从子类更改父类属性