With or without you realize, your everyday code is using one or many design
patterns which are going to be introduced in this post.
If you google for Design Patterns, there will be a bunch of blog posts, books
that talk about this topic. The recommended book is the canonical