11
Separation of Concerns
Separation of concerns is defined as “a design principle for separating a computer program into distinct sections such that each section addresses a separate concern.”1
Separation of concerns is the most powerful principle of design in my own work. I apply it everywhere.
The simple colloquial description of separation of concerns is “One class, one thing. One method, one thing.” It’s a nice soundbite, but that doesn’t give the functional programmers a free pass to ignore it.
This is about clarity and focus in our code and systems. It is one of the key enabling techniques to help us improve the modularity, cohesion, and abstraction in the systems that we create and, as a result, help us reduce the coupling to an effective ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access