The essence of design patterns in automatic identification tool - Freitas, André Luis Castro de (2004)
The emergence of the design patterns movement has gone a long way toward codifying a concise terminology for conveying sophisticated computer-science thinking. A design pattern is a reusable implementation model or architecture that can be applied to solve a particular recurring class of problem. In generally, it is hard to recognize pattern use in real-world ware systems, unless you know what you are looking for then carefully and methodically search for the pattern. The purpose of this research has been to demonstrate the feasibility of building programs to detect the use of software design patterns in Java programs. To this end this paper examines the structure of design patterns, determines the nature of what makes a design pattern detectable by automated means. The development of these examples allows patterns comparison, showing advantages and tendencies in using one or another kind of communication between classes and objects.