I am posting the code for an article that will appear in the May issue of Visual Studio Magazine. When the article was originally written it was written from a TDD perspective (which the tests will reflect). Unfortunately, my editor felt that the TDD approach detracted from the content of the article. For those of you who know me personally, you know that I have a passion for showing people how to practically apply TDD to solve business problems. To that end, I have ensured that the source code that accompanies the article contains all of the tests that I wrote to drive out the functionality of the AddressBook.
Please feel free to provide feedback on the article, I am constantly looking for ways to improve my writing skills to achieve greater impact on the masses.