Cross-Cutting Concerns

All software applications have various concerns, which are groupings of logic and functionality. Some of that functionality, known as cross-cutting concerns, is used in multiple areas of the application.

In this chapter, we will explore cross-cutting concerns and some general guidelines for handling them. We will take a look at different ways to implement them, including using dependency injection (DI), the decorator pattern, and aspect-oriented programming (AOP).

We'll go over some examples of cross-cutting concerns as well as some of the special considerations that should be made when dealing with cross-cutting concerns within microservices.

In this chapter, we will cover the following topics: