article
Mediator Pattern: comunicazione senza caos
Pillar article sul Mediator Pattern: come ridurre l'accoppiamento tra componenti facendoli comunicare attraverso un coordinatore centrale.
Il problema: tutti parlano con tuttiUn form complesso ha 10 campi interdipendenti. Selezionare "tipo: azienda" mostra il campo P.IVA e nasconde il cod...
14/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
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