Discover structure
The diagram editor in the Structure101 Client is an ideal "sandbox" for discovering how your code-base is structured and how it might be better architected.
| For example, you can ask Structure101 to create a high-level architecture diagram for you from the current code-base. This shows you the top-level layering, and any violations (dependencies that break the layering). To find out what package "struts2" depends on within package "dispatcher" you can click on the "+" for more detail. | ![]() |
| This shows that the violation is due to a dependency from package "struts2" to package "dispacher.controller". | ![]() |
|
Expanding both these packages shows the class-to-class dependencies causing the problem. | ![]() |
|
In this case, we can repair the architecture violation by moving class Dispatcher to the struts2 package at the indicated level. | ![]() |
|
Moving this one class to a new package has removed the cyclic (upward) dependency and we can collapse the top level cells to see the cleaned up architecture. | ![]() |
| Structure101 gives you a list of moved items that you can export as a task list, and/or apply as transformations to your Stucture101 model. | ![]() |





