This is a repository with notes on how to implement Object oriented design patterns and principles using Java.
Not only it contains implementations of all the design patterns and principles it also documents the reason why these are best practises when designing your classes.
All the SOLID design principle have been implmented
where SOLID is an acronym where:-
• S stands for SRP (Single responsibility principle)
• O stands for OCP (Open closed principle)
• L stands for LSP (Liskov substitution principle)
• I stand for ISP ( Interface segregation principle)
• D stands for DIP ( Dependency inversion principle)
Some of the design patterns implemented are
- Abstract Factory
- Adapter
- Command
- Decorators
- Factory
- Fly weight
- Inversion of Control
- Singleton
- Template
Will continue to add more in future.