php – Liskov替换原则和使用继承类的正确方法
我有一些处理程序类,他们可以以某种方式处理项目:但是我需要在子Item类中添加一些新功能:并在SecondHandler中使用它但是Item类实际上没有getAuthor方法.并且,如果我尝试在SecondHandler类中更改accept方法的签名,我将捕获有关声明兼容性的E_STRICT错误.当然,这是一种LSP违规.我该如何解决这个问题?我是否需要两个接口,例如,INewHandler和IHandler,具有不同的execute方法签名?