Summary
We started the chapter by learning what AOP is, and we also discussed AOP frameworks that enable the separation of cross-cutting concerns from business logic when you are programming. This helps you to focus on business logic and keep your code clean and succinct.
Next, we covered how AOP works with PostSharp. We covered extending the aspect framework by developing our own aspect, injecting aspect behaviors before and after method execution, and extending the architectural framework.
Finally, we built a reusable library to address various cross-cutting concerns. These concerns included caching, logging, exception handling, security, validation, resource pool, configuration settings, and instrumentation concerns.
In the next chapter, we will look at using tools to help you improve your code quality. But before then, test your knowledge and then further your reading.