article
Interpreter Pattern: dare un linguaggio al tuo dominio
Pillar article sull'Interpreter Pattern: come definire una grammatica per un linguaggio semplice e costruire un interprete che la esegue.
Il problema: logica configurabile che non puo vivere nel codiceUn sistema di sconti ha regole che cambiano ogni settimana: "se il carrello supera 100 ...
17/05/2026
article
Visitor Pattern: aggiungere operazioni senza modificare le classi
Pillar article sul Visitor Pattern: come aggiungere nuove operazioni a strutture di oggetti esistenti senza toccare le loro classi.
Il problema: nuove operazioni su classi chiuseHai una gerarchia di nodi AST (Abstract Syntax Tree) per un linguaggio di template: TextNode, VariableNo...
16/05/2026
article
Memento Pattern: catturare e ripristinare lo stato
Pillar article sul Memento Pattern: come salvare snapshot dello stato di un oggetto per poterlo ripristinare in seguito, senza violare l'incapsulamento.
Il problema: tornare indietro senza rompere l'incapsulamentoUn editor di testo deve supportare l'undo. Per annullare un'operazione, serve lo stato pre...
15/05/2026
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
Flyweight Pattern: condividere per risparmiare memoria
Pillar article sul Flyweight Pattern: come gestire grandi quantita di oggetti simili condividendo lo stato comune invece di duplicarlo.
Il problema: migliaia di oggetti quasi identiciUn editor di testo deve rappresentare ogni carattere come un oggetto con font, dimensione, colore, posi...
13/05/2026
article
Bridge Pattern: separare l'astrazione dall'implementazione
Pillar article sul Bridge Pattern: come evitare l'esplosione di sottoclassi separando cio che un oggetto fa da come lo fa.
Il problema: due dimensioni di variazione che moltiplicano le classiHai un sistema di notifiche con due dimensioni di variazione: il tipo di notifica ...
12/05/2026