Separation of Concerns
Domain: Software Engineering
🎯 Motivation
Different concerns (UI, business logic, data) should be in separate modules. Like MVC.
📋 Concrete Example
MVC: Model (data), View (UI), Controller (logic). Each concern is separate. Change the UI without touching data logic. Change the database without affecting the UI. Clean separation.
🔗 Analogy
Separation of concerns is like organizing a kitchen - raw ingredients (data), cooking (logic), and plating (UI) are in separate areas. Change the plating style without changing the recipe. Each concern is independent.