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.