design pattern(2)