Software Design Principles
الوحدة 3
Separation of Concerns
Separating by technical layer is the version most teams get. Separating by reason to change is the version that makes a system modifiable — and cross-cutting concerns need a deliberate home either way.
33 min2 lessons
ابدأ الوحدةما ستصبح قادرًا عليه
- Define a concern by its axis of change rather than by its technical category.
- Compare technical-layer separation with feature separation and choose by the change patterns you observe.
- Place cross-cutting concerns where they can be enforced without tangling business logic.
- Recognise when an apparent separation is only a folder structure.
- 11 min
01What Counts as a Concern
Separation of concerns is not about folders named controllers, services and repositories. It is about being able to satisfy one reason to change without opening code that exists for another.
- 12 min
02Cross-Cutting Concerns Without Tangling
Authorisation, logging, transactions and localisation genuinely apply everywhere. Placing them badly either scatters them through business logic or hides control flow nobody can find.
Separation of Concerns
6 questions · pass at 75%