Categories
design pattern

Strategy pattern

Ricordiamo subito un principio della OOP

Preferire la composizione all’ereditarietà

(oft-quoted maxim of OOP)

Lo Strategy pattern viene usato per evitare l’ereditarietà a compile-time

  • Permette di separare TANTE diverse azioni da eseguire in TANTE diverse interfacce (un’interfaccia per ogni azione)
  • Mantenere un separatore (interfaccia Duck) tra le interfacce e la classe (ModelloDuck)
  • Tale separatore conterrà un reference per ogni interfaccia
    • Flessibilità RUNTIME: posso realizzare nuovi oggetti (papere) e decidere le azioni volare/non volare

Vedere questo schema delle classi:

diagramma dell classi UML, un esempio di strategy pattern
diagramma della classi con un esempio di Strategy pattern

Leave a Reply