article
Prototype Pattern: clonare invece di costruire
Pillar article sul Prototype Pattern: quando clonare un oggetto esistente e piu efficiente e sicuro che costruirne uno nuovo da zero.
Il problema: costruzione costosa o complessaHai un oggetto ReportTemplate con 30 proprieta: intestazione, font, margini, colori, header, footer, water...
11/05/2026
article
Abstract Factory: famiglie di oggetti coerenti
Pillar article sull'Abstract Factory: come creare famiglie di oggetti correlati senza specificare le classi concrete, con esempi in PHP.
Il problema: oggetti che devono essere coerenti tra loroImmagina un'applicazione che genera documenti in formati diversi: PDF e HTML. Un documento PDF...
10/05/2026
article
Dependency Injection: il pattern che rende tutto il resto possibile
Pillar article sulla Dependency Injection: perche iniettare le dipendenze e il fondamento di testabilita, flessibilita e buon design in PHP.
Il problema: classi che creano le proprie dipendenzeUna classe OrderService ha bisogno di un OrderRepository per accedere ai dati e di un Mailer per i...
09/05/2026
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
Facade Pattern: semplificare l'accesso a sistemi complessi
Pillar article sul Facade Pattern: come creare interfacce semplificate che nascondono la complessita di sottosistemi articolati.
Il problema: troppi oggetti per fare una cosa semplicePer inviare un'email di conferma ordine servono sei passaggi: creare il template engine, caricar...
06/05/2026