Pattern GOF e UML

Post date: Mar 30, 2015 10:47:39 AM

Strutturali

Adapter

Espone un interfaccia base che può essere usata per rendere compatibili sistemi esterni con un determinato package.

Es.: Package "Taxes" espone <<interface>> ITaxCalculatorAdapter

Façade

Usato nel sistema, per evitare accoppiamenti indesiderati.

Fornisce un interfaccia a livello di package come un mega adapter di adapter. I client interni collaborano con la façade, non con i componenti interni del sottosistema.

Proxy

Usato per reindirizzare servizi remoti quando non disponibili. Fornisce un accesso alternativo all'oggetto reale.

Creazionali

Comportamentali

Strategy

Definendo una famiglia di algoritmi, posso renderli intercambiabili in base al client che voglio usare.

Es.: Ho la famiglia di protocolli composta da: "NFC", "Bluetooth", "InfraRed". La mia classe DataTransfer può utilizzare in maniera intercambiabile uno dei 3 e chiamare il loro metodo comune "Transfer()", derivato dalla classe padre "Protocol".