Analogies and chunking are at the core of software design and the principles that have evolved over the last decades. I am using the psychologists definition of chunking here so cohesion and coupling are implicit within.
Our mind has a limit of four chunks when learning and understanding. The only exception seems to be numbers of varieties of analogies.
We can understand a shopping list regardless of its length because we understand that all items need to be treated the same (i.e. find and buy). Each item is variety of a “grocery” analogy.
And so we come to the single fundamental metric of software design.....