designPatterns