Recommended: Sing it, brah! 5 fabulous songs for developers
JW's Top 5
Optimize with a SATA RAID Storage Solution
Range of capacities as low as $1250 per TB. Ideal if you currently rely on servers/disks/JBODs
Page 5 of 5
In this article I have used Log4j as an example to demonstrate both the design principle of orthogonality and the occasional trade-off between following a design principle and achieving a system quality attribute such as scalability. Even in cases where it is impossible to achieve full orthogonality, I believe that the trade-off should be a conscious decision, and that it should be well documented (for instance, as technical debt). See the Resources section to learn more about the concepts and technologies discussed in this article.
Many thanks to Giovanni Moretti, Colin Campbell and Manfred Duchrow for their feedback on drafts of this article.
Jens Dietrich is an associate professor in the Engineering School at Massey University in New Zealand, where he teaches programming, software engineering, and web technology. He holds a master degree in mathematics and a PhD in computer science, both from the University of Leipzig in Germany. He worked as consultant in Germany, Namibia, Switzerland and the UK between 1996 and 2003, and as an academic at Massey since 2003. His research interests are in architectural analysis and software componentry. Jens is the author of several Java programs including the Mandarax rule engine, the Treaty contract extensions for Eclipse, the GUERY graph query engine, and the Massey Architecture Explorer. For more about Jens, see his personal website: https://sites.google.com/site/jensdietrich/.
Read more about Core Java in JavaWorld's Core Java section.