A Philosophy of Software Design
This book addresses the topic of software design: how to decompose complex software systems into modules (such as classes and methods) that can be implemented relatively independently. The book first introduces the fundamental problem in software design, which is managing complexity. It then discusses philosophical issues about how to approach the software design process and it presents a collection of design principles to apply during software design. The book also introduces a set of red flags that identify design problems. You can apply the ideas in this book to minimize the complexity of large software systems, so that you can write software more quickly and cheaply.
Reviews
Natalie@nyc
Suat Karakusoglu@suat
Mustafa Hussain@mhussain
Nick Gracilla@ngracilla
Julien Sobczak@julien-sobczak
Thibault ML@thibault-ml
Carlos Becker@caarlos0
always online@tdoot
Eduardo Sorribas@sorribas
Christian Bager Bach Houmann@cbbh
Simon Gagnon@simoncrypta
Taylor Murphy@tayloramurphy
Levi B@levibe
Ika@ddramone
Nik R@coldwhiteday
Sapan Parikh@sapan
Shivam Shekhar@shivamx96
Jannis M@jmm
Anwar@zianwar
Cheah Chu Yeow@chuyeow
Dean Sas@dsas
brendan sudol@bren
mercy@mercy
Engin Arslan@enginx
Highlights
Davood Ghanbarpour@davood
Page 17