| |||||||||
In computer science, separation of concerns is the process of breaking a program into distinct features that overlap in functionality as little as possible.
Which distinct concerns exist should be determined first, and then implemented as separately as possible. This is intended to promote modular design.
A program may log its actions, handle a database of records, compute a statistic from these records, etc.