Introduction
Design patterns can be divided into four main categories:
- Creational - deals with creation of objects
- Structural - deals with structure and relations
- Behavioural - deals with algorithms and data
- Architectural - deals with system architecture