Dirk Riehle's Industry and Research Publications

Design Pattern Density and Design Maturity

JUnit is a widely-adopted unit testing framework for Java, developed by Kent Beck and Erich Gamma. In their discussion of JUnit 3.8’s design, the authors state:

Notice how TestCase, the central abstraction in the framework, is involved in four patterns. Pictures of mature object designs show this same ‘pattern density’. The star of the design has a rich set of relationships with the supporting players.

The notion of design pattern density has been around forever, but with little serious work being done to refine the idea. I’m calling on all experts (reading this blog…) to tell me whether they agree or disagree with the following statement:

A high design pattern density implies a high maturity of the design in which the patterns occur.

The assumption here of course is that the use of design patterns happened naturally and was not inflated by ulterior motives. So… yes or no: Does a high design pattern density indicate a mature design? Or, does it at least correlate positively?

Disclaimer: I’m using Kent’s and Erich’s statement as the motivation for a paper on design pattern density, and I would like to beef it up with further expert witness.


Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.



Share the joy

Share on LinkedIn

Share by email

Share on X (Twitter)

Share on WhatsApp

Featured startups

QDAcity makes qualitative research and qualitative data analysis fun and easy.
EDITIVE makes inter- and intra-company document collaboration more effective.

Featured projects

Making free and open data easy, safe, and reliable to use
Bringing business intelligence to engineering management
Making open source in products easy, safe, and fun to use