Dependency Cycles between Packages/Subsystems

This smell occurs when two or more packages/subsystems depend on each other. Cycles between packages/subsystems can be created through use, inheritance, or through a combination of use and inheritance.

Related smells: Static Cycles in Dependency Graphs Cyclically-dependent Modularization Cross-module Cycle

Tools

The following set of tools detects this smell: Designite(for C#) DesigniteJava(for Java)

Reference

M. Lippert, S. Roock, “Refactoring in Large Software Projects: Performing Complex Restructurings Successfully”. John Wiley and Sons, 2006.


Architecture Smells

Home

All rights reserved (c) Tushar Sharma 2017-23.