designPatternLearn