MB: Nachtrag: Decorator

Beitrag lesen

moin,

das ist kein Dekorator, sondern eine Art von Fabrik, die Services als Singletons liefert.

Sry, das verstehe ich leider nicht.

Das kann man machen, sofern die Services tatsächlich Singleton-tauglich sind, d.h. stateless.

Du meinst new Singelton::getInstance(). Was hat das mit den privaten Service Klassen zutun, die in einer Kontainer Klasse ServiceClass bereit gestellt werden, die wiederum im AbstractClass Konstruktor instanziiert wurde? Meine Service Klassen werden nur einmal Instanziiert um dann der AbstractenClasse über $this->service->doSommething() verdeckt zur Verfügung zu stehen, da die Service Klassen ja private sind und sich in öffentlichen Methoden der ServiceClass teileweise ergänzen. Beispiel:

class ServiceClass {
  private $fooService;
  private $barService;
  public function __construct () {
    $this->fooService = new FooService;
    $this->barService = new BarService;
  }
  public function doSomthing() : void {
    $this->fooService->doAnything ();
    $this->barService->doNothing ();
  }
  public 
}

lgmb