Initially I started learning OOP and later started grasping concepts of Design Patterns. I wonder whether it is the Design Pattern which is the SuperSet of OOP or it is the OOP itself.
- Anybody can ask a question
- Anybody can answer
- The best answers are voted up and rise to the top
Design patterns are just constructs to simplify communication about programming by providing a common lexicon for common code layouts (or paradigms or models or ...)
I can (and have!) write a facade or a singleton in a non-OO language.
Some have argued that design patterns are just ways to make up for feature deficiencies within the core language itself. I think that's a bit of an exaggeration, but it does help keep design patterns in their proper perspective. They're just another tool to aid in communication and design; they don't belong up on a pedestal to be worshipped.
It is possible to program in an object oriented language without using any established design patterns, but it is not possible to use object oriented design patterns in non object oriented languages. Ergo, I'd say design patterns are a subset of OOP inasmuch as this categorization makes sense.