Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Both the The Elements of Java™ Style [Rogue 2000] and the JPL Java Coding Standard [Havelund 2010] require that the dependency structure of a package must never contain cycles; that is, it must be representable as a directed acyclic graph (DAG).

...

Cyclic dependencies between packages can result in fragile builds. A security vulnerability in a package can easily percolate to other packages.

Bibliography

[Havelund 2010]JPL Coding Standard, Version 1.1

[Knoernschild 2001]

§1.2.5, "Acyclic Dependencies Principle"

[Martin 1996]

Chapter 1, "OO Principles and Patterns"

[Rogue 2000]The Elements of Java Style

 

...