15.DesignPatterns, c# homework