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
##同組的斯坦福小夥大學時上過作者的課,強烈推薦瞭本書。書雖薄瞭些,但收獲不小。
評分##提供瞭一些新的視角,有藉鑒意義。
評分##復雜度
評分##神作啊。簡直字字珠璣。
評分##"The first is to describe the nature of software complexity ... The book’s second, and more challenging, goal is to present techniques you can use during the software development process to minimize complexity."/"...the increments of development should be abstraction, not features..."/這本書著重強調軟件係統設計的目標是控製住係統內部的復雜度。比較少討論功能和性能。
評分##看完我想到一個詞,“斟酌”。在軟件設置的每個階段都要反復去斟酌,架構設計、數據結構、接口、實現、方法的定義與實現,一段業務邏輯一行注釋一個變量都要反復斟酌。總之就是要把軟件當成一件藝術品一般去雕刻,一切的一切為瞭控製軟件的復雜性。雖然對於大部分CRUD boy來說都是需求驅動、工期驅動。但請切記,寫代碼要反復斟酌,這一定可以讓你在CRUD boys裏麵脫穎而齣。
評分##引用最後一章第一句話:This book is about one thing: complexity。雖然標題裏帶有"philosophy",但其實書裏介紹的大部分內容還是挺直覺。關於異常和注釋的兩章反而讓我收獲最多
評分##微觀設計層麵講得很全麵,define errors out of existence 引人深思。宏觀架構層麵需要參考 Design Data-Intensive Applications。
評分##看完我想到一個詞,“斟酌”。在軟件設置的每個階段都要反復去斟酌,架構設計、數據結構、接口、實現、方法的定義與實現,一段業務邏輯一行注釋一個變量都要反復斟酌。總之就是要把軟件當成一件藝術品一般去雕刻,一切的一切為瞭控製軟件的復雜性。雖然對於大部分CRUD boy來說都是需求驅動、工期驅動。但請切記,寫代碼要反復斟酌,這一定可以讓你在CRUD boys裏麵脫穎而齣。
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2026 book.tinynews.org All Rights Reserved. 静思书屋 版权所有