© Jason Lee Hodges 2019Jason Lee HodgesSoftware Engineering from Scratchhttps://doi.org/10.1007/978-1-4842-5206-2_14
14. Design Patterns
Jason Lee Hodges1
Draper, UT, USA
The primary theme in software engineering is that of reuse over reiteration. You’ve seen this several times in this book already with the concepts of abstraction, modularity, inheritance, data structures, and algorithms. This same concept can be applied to software design. Design patterns are a set of best practices to use when encountering a specific problem in object-oriented software design. Similar to algorithms, these are proven solutions that should be reused in similar scenarios rather than being rewritten or rediscovered. Unlike algorithms, design patterns are typically ...