Most experienced engineers would accept that there are attributes of a code base under the heading of “structure” or “architecture”, that make a substantial difference to the ease of development. However, since there is some cost to improving these attributes, I do get rightly asked asked for data that quantifies the benefit, usually from higher… Read more »
Posts Categorized: Architecture
If architectural drift is addressed before monolithic code tangles have formed, the higher-level components can be disentangled by relatively low cost/risk relocation of classes between components. Otherwise more invasive class-level surgery is needed – this is possible with Restructure101, but this tutorial focuses on the simpler situation.
The purpose of this exercise was to use Restructure101 to solve tangles in JUnit version 4.8.2.
The name-map is a feature that most users will not require. But, there are certain use cases where its use can be invaluable. For example: If you have a large volume of class to class transformations, you may notice the client reaction time becoming slow. To workaround this use the Java name-map, as it can… Read more »
Architecture Diagrams in Structure101 are mapped to the physical code by patterns associated with each cell in the diagram. This enables the visual specification of rules that can then be applied to a specific version of your code so that Structure101 can overlay any violations on the diagram and let you discover the offending code… Read more »
Just released, Version 3.1 adds lots of new stuff to the Architecture perspective to make it much easier to discover the current structure and move classes or packages around to define a preferred architecture. First thing is a simple expand and collapse button on each cell. So for example you can ask Structure101 to create… Read more »
I have updated the architecture diagrams for the just-released Spring 2.5. Any new or changed packages are highlighted (since 2.0.6). The diagrams are also online – if you pointed your IDE plugin at these after my previous entry, you will be seeing the updated diagrams in your IDE already, and any compile time messages about… Read more »
Released today, the new version 3 capabilities make Structure101 a nicely rounded architectural control solution in addition to the previous structural analysis and complexity measurement capabilities. For example: You can now define layering constraints on your code-base using simple, intuitive architecture block diagrams Communicate these architecture diagrams to the development team through IDE plug-ins Developers… Read more »
Java packages are often used like file-system folders to organize source. But source files differ from “normal” files in that they are highly inter-dependent. Considering this interdependence as a package hierarchy evolves can have significant productivity benefits. Packages as Folders Java packages provide an ideal way to organize code into a scalable, hierarchical structure that… Read more »
Structure101 lets you work with both structure (the whole code-base as it is) and architecture (the subset of the structure that you really care about, and how it should be). It lets you define the architecture in the context of the physical structure and diseminate this to the team. Architecture diagrams are what makes this… Read more »