# Java Patterns
The Best practices are called as Design Patterns
# Principles of Design Patterns
- Composition over inheritance is always preferred.
- Code for the interface not for implementation.
# Types of Design Patterns
# A. Creational Design Pattern
These design patterns are all about class instantiation or object creation.
# B. Structural Design Patterns
These design patterns are about organizing different classes and objects to form larger structures and provide new functionality.
# C. Behavioural
Behavioral patterns are about identifying common communication patterns between objects and realize these patterns.
- Template Method
- Mediator
- Chain of Responsibility
- Observer
- Strategy
- Command
- State
- Visitor
- Iterator
- Interpreter
- Memento