Cross-cutting concerns are everywhere: caching, logging, transactions, and more. These can make your code a tangled, scattered mess.
In this presentation, I will define cross-cutting concerns, and show you techniques to refactor cross-cutting concerns, including dependency injection; the decorator pattern; and Aspect-Oriented Programming (AOP) tools like Castle DynamicProxy and PostSharp. I'll explain the benefits and trade-offs of each design decision so that you will be confidently prepared to master cross-cutting concerns.
Matthew D. Groves is a guy who loves to code. It doesn't matter if it's "enterprisey" C# apps, cool jQuery stuff, contributing to OSS, or rolling up his sleeves to dig into some PHP. He has been coding professionally ever since he wrote a QuickBASIC point-of-sale app for his parent's pizza shop back in the 90s. He currently works from home on the Telligent product team, and loves spending time with his wife and 2 kids, watching the Cincinnati Reds, and getting involved in the developer community. He is the author of AOP in .NET (published by Manning), and also teaches at Capital University in Columbus, Ohio.