0

我有一个用 php 编写的服务类,它调用不同的类来执行相同的功能。在我的每一堂课中,我为不同的客户使用相同的功能。所以每次有新客户使用我的服务时,我只需更改类名,功能保持不变。

我一直在尝试使用工厂方法模式。但是我发现如果我使用工厂方法模式,我仍然必须为不同的客户端复制粘贴相同的功能。

我的场景是我创建一个类来执行以下操作。 对于客户端 1 函数是: setClient() process()

对于客户端 2 函数是: setClient() process()

我知道我可以使用接口或抽象类。但我仍然觉得存在一些问题,因为 setClient() 和 process() 函数做的事情完全相同。

那么处理这类场景的最佳方法是什么?

我不想为了相同的目的在不同的类中为不同的客户一次又一次地编写或复制粘贴相同的功能。

提前感谢所有参与者。

4

1 回答 1

0

您可以使用抽象类,然后在您的客户端类中扩展它。让我们先定义抽象类。

abstract class base {

     function common() {
           echo "common code here";
     } 
}

然后为每个客户端继承它。

class clienta extends base {

      function clientAfunc() {
          $this->common(); //call common
      }
}
于 2013-06-27T23:51:33.637 回答