Exercise of Design Pattern