Design Patterns : general repeatable solution to common problems in software design ... it is a description or template for how to solve a problem that can be used in many situations
problems examples :
- create only one class instance
- create multiple instances of similar kind with loose coupling.
- abstract database actions from our logic
importance :
- speed up the development process by providing tested proven development paradigms
- making the overall system easier to understand and maintainable
- easy developers communication when discussing system design
Design Patterns | Design Principles | |
---|---|---|
provided guideline level | high level | low level |
examples | Factory,Adaptor | SOLID,DRY,KISS |
types :
- Creational : class-object instantiation or creation
- Structural : organizing diff classes-objects during forming larger complex structure providing new functionality
- Behavioral : communication bet objects
Creational | Structural | Behavioral | |
---|---|---|---|
Main Role | class-object instantiation or creation | organizing diff classes-objects during forming larger complex structure providing new functionality | communication bet objects |