add design pattern post