202410151632 Status: #idea Tags: #design_patterns #software_engineering #computer_science #object_oriented_programming # What are design patterns and why use them? Design patterns are repeated high-level structures that are applied to code to solve specific types of problems. They differ from algorithms in that they do not specify the steps to solve a problem - instead, they specify how the code should be structured, while leaving the implementation details to the coder to adapt to his or her specific problem. Design patterns are useful because they represent a set of best practices that allow coders to create extensible, clean code without needing to reinvent the wheel. By knowing a large library of canonical patterns, you can be well-equipped to write great code for problems that you've never encountered before. In addition, they provide a shared vocabulary that can be used for engineering teams to describe their coding approaches, reducing the need for coordination within the team. --- # References