《软件设计精要与模式》第二版设想

在我看来,我从第一版出版之后得到的读者反馈实在是有限。除了有少数几位细心的读者给我指出书中的错误之外,大体上就都是泛泛而谈了。这对本书第二版的写作带来一些障碍。因为我无法知道读者对每一章的评价,不知道哪些章节对大家有益,哪些章节还有不足之处。我只能根据自己的经验来揣摩读者的想法,对第一版的内容进行改善。同时,在新版中增加第一版出书之后所获得的新知识与新认识。第二版在风格上仍然沿袭了第一版的特色,但内容无疑更加丰富。

在第一篇《设计之要》中,我会增加两个新的章节,分别介绍面向对象思想与设计原则,以及领域驱动设计。同时,删去原书的第5章《设计,由你掌握》。增加的这两章,前者是讲解设计基础,而后者则会以一个完整的案例为读者展现领域驱动设计的要点、宗旨、原则和相关思想。第五章的部分内容会合并到原书第1章《设计之道》与第2章《封装变化》之中。此外,我会极大地丰富第1章的内容,企图通过这一章为读者全面介绍软件设计的相关思想与技术。对于《封装变化》一章,我修订了一些小小错误,同时增加了“封装对象结构变化”一节。关于解除具体耦合,原书只是简单介绍了依赖注入。第二版不仅会深入介绍依赖注入,还将增加注入表驱动法、惯例优于配置、服务定位器等模式与方法。对于原书第3章和第4章对于重构和测试驱动开发的介绍,我准备更换一下演示的案例。尤其是重构一章,关于数学容器的设计实在太过于简单了。

第二篇《.NET Framework与设计模式》在第一版是针对.NET 2.0进行分析的。在第二版会针对最新的.NET框架进行分析。这一篇的变动不会太大,但可能会增加一些在.NET框架中的设计模式分析。目前,我已经完成了第6章《Factory Method模式》和第7章《Composite模式》的修改。我修改了第6章的Factory Method模式的例子。而在第7章,我则改善了原有的设计,使之更加完美和优雅。

第三篇《媒体播放器的设计之旅》的变化或许会比较大。因为我会开发一个真实的媒体播放器,用以演示各种模式的运用。因此,可能会增加几种模式的运用,不过关于第一版中讲解Adapter模式的章节,则可能会删去。

第四篇《设计模式应用实践》仍然沿用旧有的风格。我会对第17章的Builder模式案例进行调整,因为本章的案例对于Builder模式的应用还不够典型。第18章《Command模式应用实践》的案例不会改变,但我会进一步完善它,尤其是充分利用Command模式的特性。第19章《Chain of Responsibility模式应用实践》写得过于矫情,我可能会考虑删去它,也可能会用另外的案例代替。经读者提醒,第21章《Proxy模式应用实践》存在一个小小的错误,我会在第二版中对其进行修正。第22章《复合的设计模式实践》思想是好的,但明显有过度设计的嫌疑,且设计思路并不够好。我会考虑对其进行大的手术。此外,我可能还会增加一些章节,不过具体有哪些,我现在还说不清楚。

第五篇《.NET体系架构设计》叙述的内容以现在看来,过于陈旧了。我会在其中适度地增加体系架构设计的相关知识。最关键的是,第二版不再以PetShop作为讲解的模板,拟考虑对DinnerNow(或者StockTrader)进行分析。在这一篇中,会增加对LINQ、WCF、WF等知识的介绍。当然,介绍的思路与结构不会发生太大的变化,仍然以分层式架构作为主体框架。

posted @ 2009-08-11 19:18  张逸  阅读(1537)  评论(18编辑  收藏  举报