Design patterns are effective solutions to common problems in Software Development. They are used to improve software reusability, reliability and maintainability.The article introduces the definition, description approach, significance and classification of the design patterns as well as the relationship between Advanced Programming Language and design patterns. The shortcomings of Observer Pattern and Visitor Pattern are identified in this article. Both can be improved by adopting new features of Advanced Programming Language. Shortcomings of Strategy Pattern are also pointed out in this article and they can be improved by combining it with Abstract Factory Pattern. In the end this article proposes a design pattern selection model to guide pattern selection in software design, and exemplifies how to use it to select a suitable design pattern. |