article
Iterator Pattern: attraversare collezioni senza esporne la struttura
Pillar article sull'Iterator Pattern: come separare la logica di attraversamento dalla struttura dati, con generator PHP e lazy evaluation.
Il problema: attraversamento accoppiato alla strutturaHai una classe UserCollection che internamente usa un array PHP. Il codice client fa for ($i = 0...
08/05/2026
article
Composite Pattern: trattare gerarchie come singoli oggetti
Pillar article sul Composite Pattern: come modellare strutture ad albero dove nodi e foglie condividono la stessa interfaccia.
Il problema: strutture ricorsive con trattamento diversoUn menu di navigazione ha voci semplici (link a una pagina) e voci con sotto-menu (dropdown ch...
07/05/2026
article
State Pattern: oggetti che cambiano comportamento in base al proprio stato
Pillar article sullo State Pattern: eliminare i blocchi switch/if sullo stato trasformando ogni stato in una classe con il proprio comportamento.
Il problema: lo switch sullo stato che divora il codiceUn ordine in un e-commerce ha diversi stati: draft, pending, paid, shipped, delivered, cancelle...
05/05/2026
article
Command Pattern: trasformare le azioni in oggetti
Pillar article sul Command Pattern: encapsulare richieste come oggetti per parametrizzare, accodare, loggare e annullare le operazioni.
Il problema: azioni che vivono solo nel momentoUn controller riceve una richiesta POST e chiama direttamente $order->cancel(). Funziona. Ma cosa succe...
04/05/2026
article
Factory Method: creare senza conoscere
Pillar article sul Factory Method Pattern nel framework: make() statico, SchemaBuilder per driver, e il principio di inversione delle dipendenze applicato alla creazione.
new e una dipendenza concretaOgni volta che scrivi new MysqlSchemaBuilder(), stai creando una dipendenza concreta. Il codice chiamante ora sa esattame...
28/04/2026
article
Singleton: il pattern piu odiato ha le sue ragioni
Pillar article sul Singleton Pattern nel framework: Database, EncryptionService, configurazione globale e quando un'istanza unica ha senso davvero.
Perche tutti odiano il SingletonNessun design pattern ha una reputazione peggiore del Singleton. "Stato globale mascherato", "impossibile da testare",...
26/04/2026