Classificazione per tipo di problema che si cerca di risolvere

  • Pattern creazionali
    • I pattern creazionali nascondono i costruttori delle classi e mettono dei metodi al loro posto creando un’interfaccia. In questo modo si possono utilizzare oggetti senza sapere come sono implementati.
  • Pattern strutturali
    • I pattern strutturali consentono di riutilizzare degli oggetti esistenti fornendo agli utilizzatori un’interfaccia più adatta alle loro esigenze.
  • Pattern comportamentali
    • I pattern comportamentali forniscono soluzione alle più comuni tipologie di interazione tra gli oggetti.
  • Pattern Architetturali
  • Altri

http://www.phppatterns.com/docs/design/the_iterator_pattern