In addition to the rules that are supported, the ability to define layers could be useful. For one, it puts down on paper some documentation for the software system. Next, rules could be generated dynamically assuming, for example, that layers can only access layers above. For example:
<layers>
<layer id="web">
<package>...</package>
<layer>
<layer id="business">
<package>...</package>
<layer>
<layer id="integration">
<package>...</package>
<layer>
</layers>
Now, the integration layer can not access any layer above it. The business layer can not access any layer above it.
Also, once the maven2 plugin is done and reports are generated, these layers could be turned into a nice generated diagram that can be added to the report.
<layers>
<layer id="web">
<package>...</package>
<layer>
<layer id="business">
<package>...</package>
<layer>
<layer id="integration">
<package>...</package>
<layer>
</layers>
Now, the integration layer can not access any layer above it. The business layer can not access any layer above it.
Also, once the maven2 plugin is done and reports are generated, these layers could be turned into a nice generated diagram that can be added to the report.
A maven 2 plugin allows developers to use Architecture Rules on their project without implementing the specific Architecture Rules test class.
Previous
| Page 1 |
Next

proposed by