Something about DesignPatterns