Secondo il seguente articolo Costruttori nominati L'autore suggerisce di usare static factory pattern per costruire oggetti è molto meglio dell'istantaneo con la parola chiave new . All'inizio l'idea è allettante (secondo alcuni dettagli nell'articolo) sì, i nomi dei metodi sono più ovvi e dà la sensazione che la costruzione della classe non dipende dal suo coordina ma la classe ha comportamenti diversi a seconda dei diversi problemi di costruzione livello.
<?php
$customer = new Customer($name);
// We can't "new a customer" or "instantiate a customer" in real life.
// Better:
$customer = Customer::fromRegistration($name);
$customer = Customer::fromImport($name);
Ma il problema che vedo qui secondo questo idioma stiamo usando la classe methods come functions ! E secondo l'esempio precedente crea problemi di accoppiamento, dobbiamo avvolgere questo static factories con una fabbrica di iniettori per disaccoppiare dal resto dell'applicazione?
Potresti per favore chiarirmi per capirlo. Ho iniziato a vedere questo idioma tutt'intorno nella comunità PHP e persino in alcuni esempi Java.