December 2021
Intermediate to advanced
256 pages
7h 25m
English
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 ...