What

It’s a design approach for programming stuff that span across applications, but aren’t crucial for running the application itself. This includes logging and security. This means those parts can be modularised and keeps code clean.

I prefer to use OOP but that’s just me.