The role of design patterns:
(1) Design patterns are used by a wide range of developers in a standard way, providing a mechanism for developers to communicate with each other to help them better understand and clearly describe a given code.
Design patterns also allow developers to have a "shared vocabulary" that, once understood, makes it easy for developers to communicate these concepts, and also to encourage programmers who don't understand to start learning design patterns.
(2) Design patterns can make it easier to reuse successful design patterns and structures.
Design pattern is a useful tool to reuse design method and manage software process, which is a summary of the experience of developers in designing software and managing organization software in long-term software development time. The pattern is like the moves in the martial arts, it provides many methods and routines in the development process, which makes it easier and easier to reuse the successful design patterns and structures.
(3) design pattern can make people understand the object-oriented design idea, improve the development efficiency of software and save design cost.
Design patterns indicate some abstraction at the instance level, in a single class, or at the component level, in general, a pattern that describes several objects, components, or classes, and also describes in detail the relationships, responsibilities, and internal cooperation between objects, components, or classes. It is not intended to provide a solution for every problem in software design and development. Learning Design Patterns not only allows us to use these successful design patterns, but more importantly, it allows us to understand the object-oriented design concept in depth. Software developers who are familiar with design patterns can quickly apply patterns to software design.