This update now checks for architecture violations automatically when you do a build (previous version was “on-demand” only). More on structure101 IDE plug-ins.
Posts Categorized: Architecture
In an excellent on-line presentation Juergen Hoeller gives rationale and guidelines for controlling the structure of large, evolving code-bases. Juergen is the chief architect of the Spring framework, which as I have previously pointed out is structurally almost perfect. This didn’t happen by accident. If you don’t have time go though the 88 minute presentation,… Read more »
This has just been made available for download. It displays architecture diagrams within the IDE, and warns if any code changes are inconsistent with the target architecture. It works more or less like the structure101 Eclipse plug-in except that for now it checks for architecture violations on demand rather than automatically when you do a… Read more »
We have overhauled the byte-code parser to now pick up Java 1.5 constructs (e.g. generics and annotations), plus it is much faster. You can download the first build that includes the new parser here. If you currently use the structure101 IDE plug-in you may find that you get bogus warnings on "new" architectural violation when… Read more »
The new version of structure101 lets you define concise, layered architecture diagrams and publish them so that the whole team sees them in Eclipse and gets warnings if they make code changes that are out of whack with the architecture. Here’s an example architecture diagram: It defines layering (cells should only depend on lower cells)… Read more »
A lot of jars can contribute to (and mask) the logical package/class structure. Here’s how to make sense of the whole mess using Structure101.1. View your project in the Logical hierarchy2. Tag the classes or packages you’re interested in3. Switch to the Jar Hierarchy and see which jars contain tagged items. Do this in reverse… Read more »
Additions let you see complete slices of a code-base at any level, home in on structural complexity, view dependency graphs in matrix form, and map code items and groups (like tangles) through different hierarchies, slices and perspectives (learn more or download).
The Spring guys have let a single dependency cycle into their architecture. A very small flaw, but it’s a perfect example of why you need to check your code-base at different levels to keep it truly tangle-free. I did a quick analysis of the Spring Framework some time back and sure enough found their claims… Read more »