20 lines
640 B
Markdown
20 lines
640 B
Markdown
# Separation of Concerns
|
|
|
|
Separation of concerns is a design philosophy
|
|
of eliminating unnecessary process coupling,
|
|
or in other words preferring specialization.
|
|
It is traditionally understood as a principle strictly of _software_ design,
|
|
however its applications are universal.
|
|
|
|
## As Process Optimization
|
|
|
|
Suppose a small company has a single "administrative assistant"
|
|
whose main functions include:
|
|
|
|
1. writing the company newsletter, and
|
|
2. onboarding new hires.
|
|
|
|
Suppose this company doubles in size
|
|
and these tasks can no longer be fulfilled by one employee.
|
|
Separation of Concerns dictates that the role should be split by function.
|