- core concerns represent primary requirements
- cross-cutting concerns are secondary requirements (logging, metrics, security...) which are applicable throughout the entire application
Separation of Concerns
design principle, each section of a program addresses a distinct portion of the information that affects a program, based on its functionality