add design pattern strategy,proxy,singleton,multition