Question on Module Design
Like last year, in my Agile Architecture - Technologies and Patterns session at SpringOne2GX, I asked the attendees the same three questions surrounding class, package, and module design. This year, I had roughly 80 folks attend the session, and here is the rough breakdown of the hands shown after each of the questions.
- How many spend time designing classes, both the behavior of a class and the relationships between classes? About 80% of attendees raised their hands.
- How many spend time designing packages, both the behavior of a package and the relationship between packages? Roughly 20% raised their hands.
- How many spend time designing JAR files, both the behavior of a JAR and the relationship between JAR files? Again, about 20% raised their hands.
These are consistent responses to what I see elsewhere, as well. I was hopeful that since I was attending the Spring conference, a few more developers were leveraging OSGi and actually spending some time on module design. But that doesn’t look to be the case. Maybe modularity isn’t sexy enough? I suppose that’s just a bit more fodder for the argument that there is no migration path for modularity, and that we need better tools, tutorials, and educational materials to help us design modular software. Fact is, I had more than one person stop to ask me where they can find more information. And that’s why recently, I’ve been focusing my talks on what we can do today, right now, to design more modular software.
I know we’ll be there someday. After my OOPSLA tutorial this week, Alex Buckley stopped by and we chatted for a while on modularity in JDK 7. Whether it’s Jigsaw, OSGi, or both, we can’t be sure. But one thing is certain - modularity is coming to the Java platform, and while it might not be all that cool and exciting right now, it’s going to play a significant role in how we architect and design applications going forward.
From http://techdistrict.kirkk.com
Kirk an industry analyst at Burton Group. For 15 years, I worked in the trenches on real software projects. I believe software development is an amazing profession. I take a keen interest in design, architecture, application development platforms, agile development, and the IT industry in general, especially as it relates to software development. I also enjoy experimenting with new technology, whether it be the the cool new framework or tethering my smartphone to my Mac via Bluetooth to get an internet connection. Kirk is a DZone Zone Leader and has posted 55 posts at DZone. You can read more from them at their website.
- Login or register to post comments
- 1912 reads
- Printer-friendly version
(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)










Comments
Pether Sorling replied on Sun, 2009/11/01 - 5:57am
To bad most developers don't care about designing package structures.
I Think XRadar is an excellent tool to define & validate the architecture, view example Xradar report from my current project.
Pether
beckchr replied on Sun, 2009/11/01 - 9:13am
Pether Sorling replied on Sun, 2009/11/01 - 10:04am
in response to: beckchr
Normally use maven-depgraph-plugin to view jar dependencies. But will take a closer look at STAN.
Can also recommend Architecture rules , used it successfully to validate package design in projects before Xradar came along.