Patterns
This is my own reference-sheet for patterns. The aim is to make my own vocabulary explicit to align with others and to enhance my knowledge over-time.
Why care?
Patterns are ways of organizing/architecting code or logical systems that have proven useful at solving specific problems. They are useful for multiple reasons:
- They introduce you to the existence of certain types of problems; you don't need to go through the pain of dicovering them for yourself.
- You don't need to solve these problems from scratch. Even if a pattern doesn't fit your use-case perfectly, it can give you a strong head-start in solving your problem.
- They give you a vocabulary to use when speaking to other developers about high-level concepts. Not needing to talk through low-level details can save a lot of time during design discussions and reviews.
- They apply outside of code. These are ways to organize logical systems; you can apply patterns to any logically organized system e.g. companies/organizations, production lines, your workflow at home.
Patterns
- Producer-ConsumerA reference for the producer-consumer pattern.Last edit: 2022-01-17
- Publisher-SubscriberA reference for the publisher-subscriber pattern.Last edit: 2021-12-28
- BuilderA reference for builder pattern.Last edit: 2021-12-27
- StrategyA reference for the strategy pattern.Last edit: 2021-12-27
- FactoryA reference for factory patterns.Last edit: 2021-12-24
- InterceptorA reference for interceptor pattern.Last edit: 2021-12-24