Presentation Materials

Dependency Injection via StructureMap

Terms such as Inversion of Control, Dependency Injection, and IoC Containers have become increasingly common in the world of .NET development.  However, many developers are still wondering what’s the big deal?  Are you curious what these terms actually mean?  Would you like to know why the concepts are important as well as how and when to apply them?  If so, please join me for this practical and interactive discussion about how you can greatly reduce the coupling of your code and increase the flexibility of your application by leveraging these concepts.  The StructureMap  IoC Container will be used as a reference for this presentation, but the concepts are applicable to your container of choice.

Slides | Demo

Last Updated: 04.24.2010


Parallel Programming in .NET 4.0: A Lap Around What's Available

Given the continually growing number of cores without a significant increase in the processor clock rate, it is no longer an option to simply say “we can just get a better processor” when we need an application to run faster.  To increase performance, parallel programming is becoming become a necessity.  Like it or not, there is a good chance you will need to leverage parallel programming at some point in the not too distant future.  Fortunately, .NET 4.0 has introduced great support to easily tap into the computing power of multiple cores and multiple processors.  We will take a tour of the new Task Parallel Library (TPL), parallel support added for LINQ, and enhancements in VS2010 that make multithreaded debugging dramatically easier.  Come find out how easy parallel programming can be.

Slides | Demo

Last Updated: 04.24.2010


Writing SOLID Code: An Introduction to the SOLID Principles

SOLID is an acronym that represents five crucial principles of class design in object oriented development.  The terms were originally coined by Robert Martin (aka Uncle Bob).  Although these concepts are certainly not new, they have received considerable press in the .NET community over the last several months, but there is still a lot of confusion among many developers regarding their meaning.  In this session, we will examine the significance of these principles and examples of how to apply them in your applications.

Slides | Demo

Last Updated: 04.24.2010


About Me

I'm a passionate software developer and advocate of the Microsoft .NET platform.  In my opinion, software development is a craft that necessitates a conscious effort to continually improve your skills rather than falling into the trap of complacency.  I was also awarded as a Microsoft MVP in Connected Systems in 2008, 2009, and 2010.

Can’t code withoutThe best C# & VB.NET refactoring plugin for Visual Studio
Follow jeff_barnes on Twitter

View Jeff Barnes's profile on LinkedIn


Shared Items


Anything you read or see on this site is solely based on my own thoughts.  The material on this site does not necessarily reflect the views of my employer or anyone else.  In other words, I don't speak for anyone other than myself.  So, don't assume I am the official spokesperson for anyone.