[Add] TemplateMethod
[Add] Observer Pattern
Merge remote-tracking branch 'origin/master'