Posted by & filed under Structure.

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.


  1.  Struts more twisted than Spring | Deconstructing Software
  2.  Software erosion in pictures – findbugs « sutts on software

Leave a Reply

Your email address will not be published. Required fields are marked *