Founder, Chris Chedgey, will be presenting on Rediscovering Modularity in an existing codebase (and more) over the coming weeks in The Netherlands, Sweden and Germany. Dates in the US will be announced shortly.

The Netherlands at The JFall Conference
Presentation details: Rediscovering Modularity
Wednesday  October 31st 11.35 – 12.25
Location: Hart van Holland, Nijkerk

Sweden at The Oredev Conference
Tuesday 6th Nov 13.30 – 16.30
Rediscovering Modularity with Restructure101 (3 Hour Workshop)
Note: Registration for this workshop is required.
Friday 9th Nov 11.10 – 12.00
Retrofitting a software architecture to an existing code-base
Location: Malmö

Germany at German Java User Group meetings
Tuesday November 20th 18:30
Location: Große Falterstraße 6a, Stuttgart
Presentation details: Rediscovering Modularity

Wednesday November 21st 19:00
Location: Frankfurter Ring 105 – D-80807, Munich

Thursday November 22nd 18:00
Location: NCC NürnbergConvention Center Ost, Messezentrum, 90471 Nürnberg
Room: “Tagungsraum in der Zwischenebene”
Free entrance to DOAG conference (and party) starting 16:30
(U1, exit Messe) 

Synopsis

The principles of modularity have been applied to engineering projects since Gorak built the wheel, and Thag the barrow of the world’s first wheelbarrow. Thag’s barrow didn’t care that the wheel was first hewn from rock, and later upgraded to a lighter, wooden one, and the same wheel design was reused for the world’s first chariot.

Analogous abstraction techniques are taught in Software Engineering 101. We apply these routinely as we develop and continuously refactor the code encapsulated within classes. However when the number of classes reaches some limit (‘Uncle’ Bob Martin has suggested 50 KLOC), higher level abstractions are needed in order to manage the complexity of the growing codebase. This limit is usually overshot, and the team is soon drowning in an ocean of classes. It is time to organize the classes into a hierarchy of modules.

 

Leave a Reply

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

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

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