本书内容既是一个整体,整部分都围绕着“软件设计”来讨论、分析,但同时又可以割裂开来,成为一个单独存在的系列,每一部分、每一章甚至每一节,都可以成为单独的主题。这样的内容安排就使得读者可以有选择的根据自身情况进行阅读,而不必囿于整部书的约束。对原书第一篇内容进行了增减,第二,三,四,五篇的内容进行了更新和完善。
本书力求讲解浅显明白,而不是故作艰深,拒人与千里之外。与一般的介绍设计模式不同,本书更多的是关注如何合理运用设计模式,并从软件设计的角度来分析。事实上,对于设计模式而言,程序员们的普遍意见是不患设计模式之艰深难懂,而患设计模式运用之惑。