Refactoring a multithreaded WCF using aspects (Gael Fraiteur)
Recorded live at the European Software Craftsmanship Conference 2010, October 2010. Live coding. No theory.
We start with an application a craftsman would have reasons not to be proud of: there’s no exception handling, expensive database operations are performed from the GUI thread, the view is not synchronized with the model, there’s no undo/redo system... All these things are usally terribly boring to implement. But AOP makes it fun: we’ll see how to encapsulate these infrastructure concerns into classes named “aspects” so that we don’t have to write boiler-plate code again.