Too Long; Didn't Read
Design patterns provide solutions for some of the most common object-oriented design conundrums. They’re solutions developed over time through trial and error that are well-documented and can be applied to the specific design problems. Design patterns were first described in the book Design Patterns: Elements of Reusable Object-Oriented Software Design. The book was written by four software engineers. And they introduced 23 design patterns. These design patterns were divided into 3 categories. A design pattern is an approach to thinking about software design that incorporates the experience of developers who’ve had similar experience.