Separation of Concerns and Single Responsibility

Components of the application should be isolated, separated, and layered to promote a loosely coupled architecture.

Principals of separation of concern and single responsibility should be followed.

Separation of Concerns is a design principle for separating a software application into distinct sections/components, so that each section addresses a separate concern.

Single Responsibility states that “a class should have one, and only one, reason to change”.

Classes should be written to be small, well-factored, and easily tested.

PREVIOUS: The Application Domain
Solution Architecture Guidance
NEXT: Application Layers