Separation of concerns
When designing software systems
Understanding the Rule
Different aspects of system functionality should be isolated from each other. Separate data, business logic, and presentation. Distinct concerns should remain in distinct modules.
What Happens When You Break It
Mixed concerns create tangled code, impossible maintenance, inability to modify one aspect without breaking others, and systems that become unmaintainable.
Benefits of Following This Rule
Separated concerns enable independent modification, easier testing, better organization, improved maintainability, and systems that remain comprehensible as they grow.