我有一个用PHP编写的服务类,它调用不同的类来执行相同的功能。在我的每个班级中,我对不同的客户使用相同的功能。因此每次新客户端使用我的服务时,我只需更改类名称,功能保持不变。
我一直在尝试使用工厂方法模式。但我已经想到,如果我使用工厂方法模式,仍然我必须复制粘贴相同的功能为不同的客户端。
我的方案是创建一个类来执行以下操作。 对于客户端1的功能是: setClient() 过程()
对于Client 2的功能是: setClient() 过程()
我知道我可以使用接口或抽象类。但我觉得有一些问题,因为setClient()和process()函数完全相同。
那么处理这类情景的最佳方法是什么?
出于同样的目的,我不想为不同的客户端在不同的类中一次又一次地写入或复制粘贴相同的函数。
感谢所有参与者。
答案 0 :(得分:0)
您可以使用抽象类,然后在客户端类中扩展它。让我们先定义抽象类。
abstract class base {
function common() {
echo "common code here";
}
}
然后为每个客户继承它。
class clienta extends base {
function clientAfunc() {
$this->common(); //call common
}
}