James Kovacs - October 08, 2008

The Regina .NET User Group welcomes James Kovacs.


Session 1: Taming Software Dependencies with Dependency Injection (DI) and Inversion of Control (IoC)
Software inevitably contains dependencies. Dependencies between classes. Dependencies between layers. Dependencies with third-party libraries. How can concepts like dependency inversion, dependency injection, and inversion of control help you tame your software dependencies? Where does an inversion of control container, such as Castle Windsor, come into the picture and do you need one? Can Binsor help you achieve convention over configuration? This session answers all these questions and more...

Session 2: Achieving Persistence Ignorance with NHibernate
Object-relational persistence can be very complex and middle-tier code is often dominated by persistence concerns. Your Customer class probably contains more code related to loading and saving customers to the database than it does actual business rules about customers. Wouldn't it be nice if you could remove all this persistence-related noise? This session examines why the concept of persistence ignorance is important and how to use NHibernate to build persistence ignorant domain models.


James Kovacs is an independent architect, developer, trainer, and jack-of-all-trades, specializing in agile development using the .NET Framework. He is passionate about helping developers create flexible software using test-driven development (TDD), unit testing, object-relational mapping, dependency injection, refactoring, continuous integration, and related techniques. He is a founding member of the Plumbers @ Work podcast, which is syndicated by MSDN Canada Community Radio. He has published articles in MSDN Magazine – most recently "Loosen Up: Tame Your Software Dependencies for More Flexible Apps" in the March 2008 issue. James is a Microsoft Most Valuable Professional (MVP) – C# Architecture and card-carrying member of ALT.NET, a group of software professionals continually looking for more effective ways to develop applications. He received his Masters degree from Harvard University.

Read James' blog: http://www.jameskovacs.com

Location: University of Regina Event: Classroom Building, room CL 126 (North-West end of campus)
Free Parking: Lot H in ISM-designated parking (South-West end of campus)
Map: http://www.uregina.ca/ancillaries/parking/maps/MAINCAMP%20WEB%20MAP%2029July08.pdf

Door Prizes: We will be giving away three Pragmatic Programmer PDF books (http://pragprog.com/categories) on 1GB USB keys provided courtesy of CIPS Regina.

Date: Wednesday Evening, October 8th, 2008

Cost: Free

5:30 pm: Food and social - please register if you are joining us for pizza
6:00 pm: Welcome and opening announcements
6:15 pm: Session 1
7:15 pm: Break
7:30 pm: Session 2
8:30 pm: Closing

We need to know how much pizza to order :) If you're joining us for dinner, please register through the Regina .NET User Group website.
Registration deadline is Wednesday, October 8th, 2008 12:00 pm.

A big thank you to our Facilities Sponsor the University of Regina (http://www.cs.uregina.ca/) as well as our Gold Sponsors for the 2008-2009 Season!

ISM Canada - http://www.ismcanada.com/
Greystone Managed Investments Inc - http://greystone.ca/
TMC Technology Management Corporation - http://www.tmctech.com/

We work with the Microsoft Developer Network - http://www.msdn.microsoft.com/canada/