Practice for Design Pattern learning