Add Decorator pattern and Composite pattern
Merge branch 'AddPattern' into develop