study for design pattern