A guide to software design patterns
Design Pattern Explained In Five Minutes
Common design solutions to common design problems
Design patterns are a collection of common solutions to solve common software development design problems
In plain English, this simply means software developers have been faced with specific application design challenges and after trying out a few approaches found a few solutions that solved those issues. These approaches have been used and adopted by the software designer and developer worlds and were deemed to be the most efficient ways of solving those specific issues.
There are currently twenty-three patterns and they are grouped into three categories: creational, behavioral and structural. For brevity, I’ll define what each pattern category handles and implement one pattern in each category to give an idea of a problem solved by that category for brevity.
Creational Patterns
Creational patterns handle how objects are created. The purpose of creational patterns is to isolate a system from having any knowledge of how objects are created. This goes back to Object-Oriented…