design patterns
Merge https://github.com/kcrosswind/design_patterns