Object-Oriented Design Patterns in Life
Many programming concepts are inspired by the physical world we live in.
Object-oriented design patterns are no exception.
Join me on the journey of learning object-oriented design patterns by recognizing them in day-to-day life. Each post in the series maps a design pattern with a real-life example. You will be surprised by how many oo design patterns you have been using in everyday life:
Subscribe so you won't miss the next post!
Creational Patterns
Structural Patterns
Adapter & Power Adapter
Decorator & Waffles
Facade & 1-Click Ordering
Composite & Group Messaging
Proxy & Agent
Flyweight & ...
Bridge & ...
Behavioral Patterns
Command & Concierge
Iterator & Movie Collections
Observer & Podcast
Strategy & Burger
Template Method & Chipolet
State & Lock
Chain of Responsibility & ...
Interpreter & ...
Mediator & ...
Memento & ...
Visitor & ...
Frequently Asked Questions
What is a design pattern?
“Each pattern describes a problem which occurs over and over again in our environment, and then describes the core of the solution to that problem, in such a way that you can use this solution a million times over, without ever doing it the same way twice.” – Christopher Alexander
How to remember all of the patterns and choose the right one to use for the current task?
Don't try to memorize all design patterns. Instead, skim through all available patterns in the Design Pattern Catalog so that you know what is available. Next time you encounter a design problem, brow through the catalog with your problem in mind, pick out patterns relevant to your problem, study them and decide if any of them fits your case.
This series helps you gain an intuitive understanding of design patterns so you can quickly identify related patterns when you have a design challenge at hand. I will create a cheat sheet mapping from problems to design patterns once I finish writing the series. Subscribe to stay tuned!
Keep Learning
My best content on Software Design, Rails, and Career in Dev. Delivered weekly.