(Good programming is not only the basic skills of developers, but also the watershed of ability. In addition to satisfying the basic functions, how to make your code concise, efficient and reusable? In addition to continuous iteration, learning design patterns is the best shortcut. Because the design pattern is a summary of the experience of developers through trial and error, and it is also the best solution to general problems. However, many people fall into such a misunderstanding: design patterns are abstract knowledge and can only be used for interviews; they are desperate to learn sample codes, but they cannot write them by themselves; design patterns are too simple to handle complex business problems. Removing these hurdles can make design patterns work for you.)