本书从原理的角度阐述了面向对象程序设计的6大原则;讲解和剖析了23种常见的设计模式,并进行了扩展,通俗易懂、趣味性极强而又紧扣设计模式的核心;对各种相关联的设计模式进行了深入分析和比较,旨在阐明各种设计模式比较理想的应用场景和它们之间的区别;探讨了设计模式的混编,讲解了如何在实际开发中将各种设计模式混合起来使用,以发挥设计模式的优选效用。全书结合设计实例,从面向对象设计案例中精心选择了一些设计模式,总结了面向对象设计中很有价值的经验,并将其用简洁、可复用的形式表达出来。本书是The Design of Design一书的评注版,力邀靠前资历专家执笔,在英文原著的基础上增加了中文点评和注释,旨在融合二者之长,既保留经典的原创文字与味道,又以先行者的学研心得与实践感悟,对读者的阅读和学习加以点拨,指明捷径。
目录
I Models of Designing 1 Chapter 1 The Design Question(新增评注19条) 3 Chapter 2 How Engineers Think of Design—The Rational Model(新增评注10条) 13 Chapter 3 What’s Wrong with This Model?(新增评注29条) 21 Chapter 4 Requirements, Sin, and Contracts(新增评注12条) 39 Chapter 5 What Are Better Design Process Models?(新增评注13条) 51 II Collaboration and Telecollaboration(新增评注1条) 61 Chapter 6 Collaboration in Design(新增评注42条) 63 Chapter 7 Telecollaboration(新增评注16条) 89 III Design Perspectives 103 Chapter 8 Rationalism versus Empiricism in Design(新增评注11条) 105 Chapter 9 User Models—Better Wrong than Vague(新增评注8条) 113 Chapter 10 Inches, Ounces, Bits, Dollars—The Budgeted Resource(新增评注10条) 119 Chapter 11 Constraints Are Friends(新增评注16条) 127 Chapter 12 Esthetics and Style in Technical Design(新增评注26条) 139 Chapter 13 Exemplars in Design(新增评注26条) 153 Chapter 14 How Expert Designers Go Wrong(新增评注18条) 167 Chapter 15 The Divorce of Design(新增评注13条) 175 Chapter 16 Representing Designs’ Trajectories and Rationales(新增评注28条) 185 IV A Computer Scientist’s Dream System for Designing Houses 201 Chapter 17 A Computer Scientist’s Dream System for Designing Houses—Mind to Machine(新增评注35条) 203 Chapter 18 A Computer Scientist’s Dream System for Designing Houses—Machine to Mind(新增评注17条) 219 V Great Designers 229 Chapter 19 Great Designs Come from Great Designers(新增评注27条) 231 Chapter 20 Where Do Great Designers Come From?(新增评注28条) 243 VI Trips through Design Spaces: Case Studies(新增评注1条) 257 Chapter 21 Case Study: Beach House “View/360”(新增评注19条) 259 Chapter 22 Case Study: House Wing Addition(新增评注14条) 279 Chapter 23 Case Study: Kitchen Remodeling(新增评注10条) 297 Chapter 24 Case Study: System/360 Architecture(新增评注18条) 313 Chapter 25 Case Study: IBM Operating System/360(新增评注14条) 331 Chapter 26 Case Study: Book Design of Computer Architecture: Concepts and Evolution(新增评注7条) 347 Chapter 27 Case Study: A Joint Computer Center Organization: Triangle Universities Computation Center(新增评注11条) 355 Chapter 28 Recommended Reading(新增评注8条) 367 Acknowledgments 371 Bibliography 375 People Index 393 Subject Index 401