January Meeting – Kicking Off 2012 with a SOLID Start

Well, at least the ‘D’ part of SOLID. If you’ve been around object-oriented programming long enough, you’ve probably encountered the term “dependency inversion” a few times.

Most reasonably interesting code depends on other objects to do some kind of work – for example, a repository to retrieve data from a backing store or a logger to add an entry to an event log. The concrete implementations of those dependencies may change over time, but the behavior will likely be the same. For example, you’ll still need to retrieve data whether it’s from a flat file or an MySQL database. Your code shouldn’t care which of those concrete implementations is really being used to do the work. Dependency inversion is a way of letting something else determine which concrete implementation to use instead of having your business logic create an object that handles the details (hence the “inversion” part). Most programming languages have existing frameworks (a.k.a. inversion of control (IoC) containers) to help you really make the most out of dependency inversion.

Keeping with our usual two-part meeting format, the first item on the agenda is to talk about how dependency inversion and IoC containers improve your code design and make testing simpler and the tests your write less brittle. For the second part, we’ll do a Randori-style (i.e., one laptop with each of us taking turns in TDD fashion) code kata that will help you put those concepts into action.

The meeting will be on Thursday, January 12th at 6pm (click here to RSVP). As usual we will have food and refreshments. If you have special requests for beer or food (e.g., vegetarian-friendly), leave us a comment below.

Sponsors

Many thanks to our sponsors and host this month:
• TEKsystems (food)
• Premier Staffing (beer)
• Cellular Sales (venue)

Links

[whoscoming event_id=”4″]

2 Comments

  1. If anyone else has a special food request, please don’t hesitate to reach out. See you all soon!

Leave A Reply

You must be logged in to post a comment.