I’ve been asked recently why I talk about "tangles" rather than "cycles" in the context of cyclic dependencies. The reason is clear when you look at a graph that contains a "strongly connected component" (a tangle):
This graph contains a single tangle of 3 nodes, but many cycles. tiles – xmlDefinition – tiles is one cycle; tiles – definition – tiles is another; tiles – definition – xmlDefinition – tiles is yet another. The number of cycles in a tangle grows dramatically with the size of the tangle. It is not unusual to have hundreds of cycles in a single tangle. Since the tangle is the basic problem, I use that term unless I want to discuss a specific cycle.
Pingback: Struts more twisted than Spring | Deconstructing Software
Pingback: Software erosion in pictures – findbugs « sutts on software