add design-pattern-demo