Tuesday: NoSQL Day
|Smart phones||Smart phones||Smart phones|
|Architecture||Cloud & nosql||Patterns|
|Web development||Web development||Social media|
|Collaboration||Realizing business ideas||Software craftsmanship|
Jeremy is the Chief Software Architect at Dovetail Software, the coolest ISV in Austin. Jeremy began his IT career writing "Shadow IT" applications to automate his engineering documentation, then wandered into software development because it looked like more fun. Jeremy is the author of the open source StructureMap tool for Dependency Injection with .Net, StoryTeller for supercharged acceptance testing in .Net, and one of the principal developers behind FubuMVC.
Track: .Net, thursday 16:40 - 17:30
For as long as I've been involved with Object Oriented Programming I've heard the exhortations to "favor composition over inheritance." My own experience has validated that advice, but solid material demonstrating or explaining this advice seems to be lacking. Even if you accept the benefits of a compositional design there's still the looming issue of determining just how you can compose your system and many developers struggle with object structures and relationships. I think it's important to have mental tools to help you think through object designs by identifying key designs and the responsibilities that need to be assigned to the objects in your system. One of my favorite design techniques is the venerable "Responsibility Driven Design" approach dating back to the SmallTalk community in the 80's. In this talk I want to present some scenarios from my work that demonstrate how a focus on compositional design contributes to both reduced developer effort and an improved ability to continually enhance existing systems and how using concepts from Responsibility Driven Design like object role stereotypes that helped me make design decisions.