Chapter 1. Introducing AOP
Figure 1.1. A low-level flowchart of a program that uses a single service
Figure 1.2. The same low-level flowchart with possible join points identified
Figure 1.3. Flowchart representation—imagine exit join points after each step
Figure 1.4. Tangling and scattering. In the printed volume, X represents red code and Y, the green code.
Figure 1.5. Splitting up the classes and recombining them with weaving
Figure 1.6. The HttpModule lifecycle in relation to the request->ASP.NET page->response
Figure 1.7. The ASP.NET MVC ActionFilter lifecycle
Figure 1.8. Starting NuGet with the UI
Figure 1.9. Search for PostSharp and install with NuGet UI
Figure 1.10. Console output of “Hello, world!”
Figure 1.11. Output with MyAspect applied
Chapter 2. Acme Car Rental
Figure 2.1. Three-layer system architecture
Figure 2.2. Loyalty program rules
Figure 2.3. Start new project
Figure 2.4. Console output simulating writes to the database
Figure 2.5. Console output with the use of AOP
Chapter 3. Call this instead: intercepting methods
Figure 3.1. Normal flow: calling a method and returning control
Figure 3.2. Intercepted flow: the method interceptor is a middleman
Figure 3.3. Console output simulating a tweet
Figure 3.4. Diagram with a real PostSharp method interception aspect
Figure 3.5. Console output with interceptor
Figure 3.6. Console output simulating a tweet again
Figure 3.7. Console output with a tweet and interceptors