Design patterns are proven practises and principles for building enterprise software. They generalize solutions to common problems. By adapting design patterns in our software architecture, we leverage the proven solutions and concepts. This makes the code easier to maintain / understand / relate to.
Design patterns are broadly classified into the following categories.
1] Structural Patterns
- Focus on building flexibility,maintainability and security
2] Creational Patterns
- Focus on increasing flexibility,i.e what , who, how and when of object creation.
3] Behavioural Patterns
- Focus on algorithms and communication between them.
I’ll start with the Structural Patterns in my next post.