Inizialmente ho iniziato a studiare OOP e in seguito ho iniziato a cogliere concetti di Design Patterns. Mi chiedo se sia il Design Pattern che è il SuperSet di OOP o lo stesso OOP.
Nessuno dei due.
I modelli di progettazione sono solo dei costrutti per semplificare la comunicazione sulla programmazione fornendo un lessico comune per i layout di codice comuni (o paradigmi o modelli o ...)
Posso (e avere!) scrivere una facciata o un singleton in un linguaggio non OO.
Alcuni hanno sostenuto che i modelli di progettazione sono solo modi per compensare le carenze di funzionalità all'interno del linguaggio principale stesso. Penso che sia un po 'esagerato, ma aiuta a mantenere gli schemi di progettazione nella giusta prospettiva. Sono solo un altro strumento per aiutare nella comunicazione e nel design; non appartengono a un piedistallo da adorare.
È possibile programmare in un linguaggio orientato agli oggetti senza utilizzare schemi di progettazione stabiliti, ma non è possibile utilizzare modelli di progettazione orientati agli oggetti in linguaggi non orientati agli oggetti. Ergo, direi che gli schemi di progettazione sono un sottoinsieme di OOP in quanto tale categorizzazione ha senso.
Leggi altre domande sui tag object-oriented design-patterns