Джон Оустерхут предлагает смотреть на software design не через паттерны и фреймворки, а через более фундаментальный вопрос: как разбивать сложную систему на модули, чтобы с ней было проще работать.
— управление сложностью как главная задача дизайна
— декомпозиция систем на модули, классы и методы
— принципы хорошего software design
— подходы к проектированию и принятию решений
— типичные проблемы и «красные флаги» плохого дизайна
— способы сделать разработку больших систем быстрее и дешевле
Особенно полезна тем, кто уже умеет писать код, но хочет перейти от «работает» к «хорошо спроектировано и не развалится при дальнейшем развитии».


