Pattern is a reusable solution to a commonly occuring problem.
A pattern is a reusable solution that can be applied to commonly occurring problems in software design. templates for how we solve problems
Types of design pattern
- Creational pattern
- Structural pattern
- Behavioural pattern
- Patterns are proven solutions.
- Patterns can be easily reused.
- Patterns can be expressive - a set structure and vocabulary to the solution presented that can help express rather large solutions quite elegantly.
- Reusing patterns assists in preventing minor issues that can cause major problems in the application development process.
- Patterns can provide generalized solutions which are documented in a fashion that doesn't require them to be tied to a specific problem.
- Certain patterns can actually decrease the overall file-size footprint of our code by avoiding repetition.