May 2025
Intermediate to advanced
411 pages
6h 36m
English
One of the most important elements of software design is determining who needs to know what, and when.
—John Ousterhout
In the preceding chapter, we spoke about several software design principles. The one which I didn’t cover is modularity because as you are about to see, it’s a complex and nuanced topic that deserves a whole chapter.
Throughout this chapter, I will use the word “module” to refer to a unit of logic that satisfies a particular requirement. This can be a method, a class, a library, ...
Read now
Unlock full access