Specify and Enforce Architecture#
Design Rules allow the architecture to specified, communicated and enforced within the entire development team. Rules can be specified and overridden at any level of the hierarchy. Rules can be kept broad or made as narrow as needed.
Create rules for both internal and external dependencies.
Specify layering rules.
Specify rules for independent components.
Specify rules at as high in the hierarchy or as low level in the hieararchy as you want.
Create exceptions so that you can identify and fix problems in a planned fashion.
Document the intent behind each rule.
Create rules based on the type of dependencies.
Create rules based on the type of source or target subsystem.
Create generic rules based on classification criteria.
Rule based architecture enforcement can be automated. Command line utilities can be used to monitor and enforce the architecture. Lattix command line utilities can also be embedded in the build system to generate reports and to generate notifications for architectural violations.