DesignPattren demo