Global module: If you have to import the same set of modules everywhere, Global modules should be registered only once, generally by the root or core module.
Aspect-Oriented Programming: a way to pull out "repetitive code" (like logging, security, or error handling) that is scattered across your entire application and manage it in one single place