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.
Bio: Matthew D. Groves is a guy who loves to code. It doesn't matter if it's C#, jQuery, or PHP: he'll submit pull requests for anything. 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 as a Developer Advocate for Couchbase. His free time is spent with his family, watching the Reds, and getting involved in the developer community. He is the author of AOP in .NET (published by Manning), and is also a Microsoft MVP.