20141208 add DesignPattern