add design pattern tutorial.