Notes of A Philosophy of Software Design--Principles
I never believed that there is a book that can fill the gap between theory and practice, especially for system design, but I do believe that the book “A Philosophy of Software Design” is the best one that narrows the gap.