GOLDEN RULE(s) of design pattern
- Client should always call the abstraction (interface) and not the exact implementation.
- Future changes should not impact the existing system.
- Change always what is changing.
-
Have loose coupling
- Inheritance ( Very coupled )
- Composition
- Aggregation
- Association
- Dependency
- Realization ( Least couple )