Bits and Pieces

Aggregation verses Composition

When teaching software design skills I often get asked what the difference is between aggregation and composition. My answer: parking lots. Parking lots aggregate cars. A parking is still a parking lot even if there are no cars on it. It is a zero-to-many relationship and what is being aggregated is optional. A car is …

Read More
Rants

First Seek to Understand

Sometimes I like to start a project by doing a few hours of design and then spend the rest of an iteration building a proof of concept. Oftentimes I can get a tremendous amount of functionality roughed out in a system very quickly and then spend the next several iterations making it supportable and maintainable. …

Read More