Structure101 IntelliJ Plug-in

Posted by & filed under Architecture, Structure101.

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 »

Structure101 Supports Java 1.5

Posted by & filed under Architecture, Structure101.

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 »

Architecture warnings in Eclipse

Posted by & filed under Architecture, Structure101.

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 »

Jar Hell

Posted by & filed under Architecture, Dependency Management, Structure101.

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 »

Complexity Debt – don’t “fix it”, “keep a lid on it”

Posted by & filed under Complexity, Emergent Design, Structure, Structure101.

So you just discovered that your code-base has racked up a whole load of complexity debt. This  maybe explains why progress seems so painfully slow lately. You briefly think of suggesting a major complexity-reducing refactoring effort. This will delay the next release significantly, but foreshorten the time to the following releases. Plus a cleaner, simpler… Read more »

Structure101 v2 beta 2 released

Posted by & filed under Structure101.

Structure101 is for contolling architecture and structural complexity. Version 2 introduced slicing and tagging. Beta 2 adds dependency hiding and cross-perspective navigation. New in v2 beta 2: Context menus (right mouse click) have been added. This introduces the new capability to navigate easily between views (perspectives). It is now possible to tag dependencies as well… Read more »

Spring 2’s architecture – A single dependency cycle slipped in

Posted by & filed under Architecture, Dependency Management, Emergent Design, Structure, Structure101.

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 »