Demystifying Aspect-Oriented Programming: Help — You’ve got Your Aspects in My Objects! (Two Great Tastes that Taste Great Together!)

It probably comes as no surprise to anyone with any real-world software development experience that Object-Oriented inheritance modeling can’t cleanly solve every class of problem we face as software engineers. AOP (Aspect-Oriented Programming) provides us with an alternative perspective on our objects and their behaviors that can be leveraged to powerfully and flexibly solve whole classes of recurring software engineering challenges that OO systems routinely face. In this talk we will both illuminate the fundamental principles and patterns of AOP as well as demystify the different available techniques for adding AOP to the design of OO systems in .NET. We’ll explore techniques like compile-time and load-time IL-Weaving, Static and Dynamic Proxying, and others. We’ll also examine several tools and frameworks (both Open-Source/free and commercial options) that make it easier for for the .NET developer to add AOP techniques to their toolbox for their everyday work. Attendees should possess good intermediate C# language skills and understand core OO design principles.

Stephen Bohlen

Currently a Principal Software Engineer for the Technology, Evangelism, and Development (TED) Team within Microsoft Corporation, Stephen brings his varied 20-plus-years of experience as a former practicing Architect, CAD Manager, IT Technologist, Software Engineer, CTO, and consultant to assist select Microsoft Partner organizations in their adoption of cutting-edge and pre-release Microsoft developer products and technologies.

Stephen is also an active contributor to several Open-Source Software projects including NHibernate, Spring.NET, Common.Logging, NDbUnit, Common.Logging, and others.

Active in the software development community, Stephen speaks publicly, blogs (semi-)regularly, and is the author of several popular screencast series focused on Agile and ALT.NET concepts and technologies including the widely-praised 15-part Summer of NHibernate video series introducing viewers to the popular open-source O/RM tool.  Stephen is also a founding/organizing member of the NYC ALT.NET user group as well as a co-organizer of the New York City Domain Driven Design User Group.  For the past several years, he has been the Chairperson of the annual New York City Code Camp event.  He has also been a Microsoft MVP award recipient in Solution Architecture, ASP.NET, and Visual C#, a member of the ASP Insiders and the Visual C# Insiders, and formerly held the office of the Vice President for INETA, North America.