Zitat von jspit
Beitrag anzeigen
Du schreibst ja selber dass du keine statische Codeanalyse verwendest.
Klar dass du dann beim Method-Chaining keine Unterstützung erhältst und das Debugging schwer fällt.
Auch sehe ich überhaupt keinen praktischen Nutzen für dieses Pattern.
Also für das Pipelining schon, aber nicht dass ich ein Objekt in ein anderes umwandeln möchte. Ich denke dann sind da schon ganz andere Probleme in der Architektur.
Im Falle der CSV ist ja bspw. das viel lesbarer, logischer und lässt sich mit Type Hinting etc. vereinbaren:
PHP-Code:
$table = new Table(); // Table implements TableInterface
$csv = new CSV();
$csv->load($table); // expects TableInterface
$csv = new Excel();
$csv->load($table); // expects TableInterface
PHP-Code:
use Foo\Bar\FooBar;
$obj = new FooBar(); // funktioniert?
$obj->toClass('FooBar'); // funktioniert nicht?
$obj->toClass('Foo\Bar\FooBar'); // funktioniert?
Kommentar