Design Patterns
Design patterns are reusable solutions to common design problems. Your house is full of them: light switch placement, kitchen cabinet height, and door handles. Design patterns promote consistency and speed of execution, reducing the need for debate over obvious choices. Originally introduced by architect Christopher Alexander, the concept was adapted to software by the “Gang of Four” in their book Design Patterns: Elements of Reusable Object-Oriented Software. This book presents reusable solutions to common software design problems like the Singleton, Observer, or Factory patterns. Beware of anti-patterns, which look like great solutions but are, in the end, sub-optimal or lead you to poor architecture. Many frameworks exist! React or Vue for making websites. MVC or MVVM to organise your project. Django or Rails for your server. Have you thought about shopping around? Reinventing the wheel is good, but relying on proven solutions can be better and make it more accessible. However, beware of falling into the trap of novelty.