add some new pattern ,such as commander,observer,builder