Detecting patterns in Java source code

You can learn about the architecture of an application by identifying patterns in an application's code and by studying how the components in patterns are connected. The process of such identification and study is called architectural discovery.

You can run an architectural discovery analysis on all the code in a workspace, on a resource working set of code, or on a project that you specify. An architectural discovery analysis identifies a particular design pattern by looking for code that constitutes the components, such as classes, interfaces, and packages, that form the pattern. To study the relationships and dependencies in detected patterns, you can open visual representations of the patterns.

Running an architectural discovery analysis on an application's code can provide the following benefits:

Automated architectural discovery is an efficient way to gain an understanding of how an application is designed.

Related concepts
Patterns in architectural discovery
Related reference
Architectural discovery patterns