add Design pattern.md