hoyong

导航

设计模式有哪些经典书籍(转)

设计模式有哪些经典书籍?--IASN·爱朔科技
  1.Java 企业设计模式
  原书名:Java Enterprise Design Patterns
  作者: (美)Mark Grand
  内容简介:本书系统介绍了设计模式和体系结构模式,这些模式可应用于分布式和企业应用程序。其中主要包含与事务处理、分布式计算、并发性和时间等相关的模式,还介绍了在面向对象程序设计中的数据库模式。本书主要内容还包括模式的概念及发展,描述模式的UML的相关内容,软件生命周期,以及不同类型的模式,有些模式还给出了代码示例。
  2.C#设计模式原书名:C# Design Patterns:A Tutorial
  作者: [美]James W.Cooper
  译者: 张志华 刘云鹏
  内容简介:本书主要介绍如何用最常见的设计模式编写C#程序。全书分为四个部分,首先介绍了C#语言和面向对象程序设计的一般原则,可作为C#程序设计的快速入门教程;然后分别讲述了创建型模式、结构型模式和行为型模式。每一类设计模式又包括若干种具体模式,共有23种。在介绍每种模式时,给出了一个或多个应用该模式的示例,以便于理解,且这些示例都是能完全运行的程序,包含在随书附带的光盘中。此外,每一章还提供了UML图,用以说明类之间的关系。
  3.UML和模式应用:面向对象分析与设计导论
  原书名: Applying UML and Patterns:An Introduction to Object-Oriented Analysis and Design
  作者: (美)Craig Larman
  译者: 姚淑珍 李虎 等
  内容简介:本书论述运用UML(统一建模语言)和模式进行对象建模的方法和技巧,重点讨论了如何使用面向对象的分析和设计技术来建造一个健壮的和易于维护的系统。
  4.设计模式解析(影印版
  原书名: Design Patterns Explained:A New Perspective on Object-Oriented Design
  作者: (美)Alan Shalloway James R.Trott
  内容简介:本书讲述了作者在学习设计模式过程中所积累的个人经验。书中包含很多实际的和可应用的实例,教你如何使用模式解决普通的编程问题,以及解释如何利用模式来进行先进的软件设计。本书清晰地演示了模式如何使整个开发过程变得更容易,还解释了面对对象设计的关键原则以及特定模式的概念和优势。通过直观的C++和Java实例,本书阐明了使用模式的原因以及如何使用模式,并解释了模式的实现。
  5.Head First设计模式(中文版)
  原书名: Head First Design Patterns
  作者: Eric Freeman Elisabeth Freeman With Kathy ierra Bert Bates
  同作者作品
  深入浅出设计模式(英文影印版)(2005年第15届Jolt获奖作品)(被《程序员》等机构评选为2006年最受读者喜爱的十大IT图书之一)
  Head First Servlets & JSP中文版
  Head First设计模式(中文版)(09年度畅销榜NO.6)(08年度畅销榜NO.3)(07年度畅销榜NO.1)
  6. .NET 设计规范--.NET约定、惯用法与模式
  原书名: Framework Design Guidelines : Conventions, Idioms, and Patterns for Reusable .NET Libraries
  作者: Krzysztof Cwalina,Brad Abrams
  译者: 葛子昂
  内容简介:本书为框架设计师和广大开发人员设计高质量的软件提供了权威的指南。书中介绍了在设计框架时的最佳实践,提供了自顶向下的规范,其中所描述的规范普遍适用于规模不同、可重用程度不同的框架和软件。这些规范历经.net框架三个版本的长期开发,凝聚了数千名开发人员的经验和智慧。微软的各开发组正在使用这些规范开发下一代影响世界的软件产品。.
  7.大话设计模式
  作者: 程杰
  内容简介:本书通篇都是以情景对话的形式,用多个小故事或编程示例来组织讲解gof(设计模式的经典名著——design patterns:elements of reusable object-oriented software,中译本名为《设计模式——可复用面向对象软件的基础》的四位作者erich gamma、richard helm、ralph johnson,以及john vlissides,这四人常被称为gang of four,即四人组,简称gof)总结的23个设计模式。本书共分为29章。其中,第1、3、4、5章着重讲解了面向对象的意义、好处以及几个重要的设计原则;第2章,以及第6到第28章详细讲解了23个设计模式;第29章是对设计模式的全面总结。附录部分是通过一个例子的演变为初学者介绍了面向对象的基本概念。本书的特色是通过小菜与大鸟的趣味问答,在讲解程序的不断重构和演变过程中,把设计模式的学习门槛降低,让初学者可以更加容易地理解——为什么这样设计才是好的?是怎样想到这样设计的?以达到不但授之以“鱼”,还授之以“渔”的目的。引导读者体会设计演变过程中蕴藏的大智慧。
  同作者作品
  大话设计模式(09年度畅销榜TOP50)(08年度畅销榜TOP50)
  8. 重构与模式
  原书名: Refactoring to Patterns
  作者: (美)Joshua Kerievsky
  译者: 杨光 刘基诚
  内容简介:本书开创性地深入揭示了重构与模式这两种软件开发关键技术之间的联系,说明了通过重构实现模式改善既有的设计,往往优于在新的设计早期使用模式。本书不仅展示了一种应用模式和重构的创新方法,而且有助于读者结合实战深入理解重构和模式。书中讲述了27种重构方式。.
  9. 设计模式解析(第2版)
  原书名: Design Patterns Explained:A New Perspective on Object-Oriented Design ,Second Edition
  作者: (美)Alan Shalloway, James R.Trott
  译者: 徐言声
  内容简介:本书以作者多年来为软件开发人员(包括面向对象技术老兵和新手)讲授模式的经验为基础撰写而成,首先概述了模式的基础知识,以及面向对象分析和设计在当代软件开发中的重要性。随后,使用易懂的示例代码阐明了许多当今最有用的模式,包括它们的基础概念、优点、权衡取舍、实现技术以及需要避免的缺陷,使读者能够理解模式后面的基本原则和动机,理解为什么它们会这样运作。
  10. 深入浅出设计模式(C#/Java版)
  作者: 莫勇腾 内容简介:本书是一本通俗易懂的设计模式入门指导图书。.
  作者用c#和java两种语言,借助现实生活范例和图片演示,全面阐释grasp及gof 23种设计模式的概念及其编程应用,帮助你领悟设计模式的思想及精华,并将其融会贯通、灵活应用到自己的开发过程中。
  全书用两章篇幅对设计模式和grasp作了基本介绍,用三章的篇幅全面展开对23种设计模式的讲解:对于每一种模式,先给出定义,接着通过类比方式用一个现实世界中的例子说明模式的应用,然后分别以c#和java代码例述模式的架构实现。
  11.多线程与并发处理
  作者: 结城 浩
  内容简介:多线程与并发处理是程序设计好坏优劣的重要课题,本书通过浅显易懂的文字与实例来介绍java线程相关的设计模式概念,并且通过实际的java程序范例和uml图示来一一解说,书中在代码的重要部分加上标注使读者更加容易解读,再配合众多的说明图解,无论对于初学者还是程序设计高手来说,这都是一本学习和认识设计模式非常难得的好书。
  12. C++设计新思维——泛型编程与设计模式之应用
  原书名: Modern C++ Design Generic Programming and Design Patterns Applied
  作者: Andrei Alexandrescu
  译者: 侯捷 於春景
  关于c++,还有什么没有说到的?唔,很多,本书所谈的一切几乎都是。本书提供的是编程技术 ─ generic programming、template metaprogramming、oo programming、design patterns ─ 的融合。这些技术分开来可以有良好的理解,但对于它们之间的协作关系,我们才刚刚开始认识。这些协同作用为c++ 打开了全新视野,而且不仅仅在编程方面,还在于软件设计本身;对软件分析和软件体系结构来说,它也具有丰富的内涵。
  同作者作品
  深入浅出MFC(第二版)
  STL 源码剖析
  Word排版艺术(编辑排版工作者案头必备读物,台湾著名作译者侯捷亲编)
  作者: Andrei Alexandrescu
  Andrei Alexandrescu 世界顶尖的C++专家,C++ Users Journal杂志的专栏作家,他的Modern C++ Desert一书曾荣获2001年最佳C++图书称号,所开发的Loki已经成为最负盛名的C++程序库之一。
  同作者作品
  C++编程规范:101条规则、准则与最佳实践(第15届软件开发效率大奖图书,C++界20年集大成之作)
  C++ In-Depth
  Modern C++ Design
  13. 敏捷软件开发:原则、模式与实践(C#版.英文注释版)(软件开发的不朽经典)
  原书名: Agile Principles, Patterns, and Practices in C#
  作者: (美)Robert C.Martin Micah Martin
  内容简介:本书旨在指导.net程序员学习构建软件的最佳实践,从而创建更好的设计并提升.net应用的质量。书中使用真实案例讲解如何用极限编程来设计、测试、重构和结对编程,包含了极具价值的可重用的c#源代码,还重点讲述了如何使用uml和设计模式解决面向客户系统的问题。
  作译者介绍:Robert C.Martin世界级的软件开发大师,著名软件咨询公司Object Mentor公司的创始人和总裁。曾经担任C++ Report杂志主编多年,也是设计模式和敏捷开发运动的主要倡导者之一。
  作者: MiCah Martin
  MiCah Martin Robert C.Madin之子,也是经验丰富的软件工程师,曾任Object Mentor公司的咨询师,现任8th Light公司总裁。擅长.NET、面向对象技术、模式和敏捷开发,他是开源测试工具FitNesse的主要开发者
  同作者作品
  敏捷软件开发:原则、模式与实践(C#版)(生动阐述面向对象原则、敏捷实践、UML和模式)
  敏捷软件开发:原则、模式与实践(C#版.英文注释版)(软件开发的不朽经典)
  敏捷软件开发:原则、模式与实践:C#版(软件开发的不朽经典)
  14. 企业应用架构模式(英文影印版)(企业应用开发圣经)
  原书名: Patterns of Enterprise Application Architecture
  作者: (美)Martin Fowler
  内容简介:面向对象大师martin fowler及其专家级合作者将40多种常用解决方案转化成模式,为我们提供了这本能够应用于任何一种企业应用平台的、关于解决方案的参考书。本书叙述深入浅出,采用大量uml 图进一步阐明有关概念。前面介绍企业应用的背景知识,如分层架构、web表现、业务逻辑、数据库映射、并发、会话、分布策略等。在此基础上,随后的各章分别对与这些背景知识相关的设计模式进行了详细的介绍,并配以详细的java代码或c#代码示例。.
  作译者介绍Martin Fowler 享誉世界的软件开发大师,现为著名软件开发咨询公司ThoughtWorks的首席科学家。他在面向对象分析与设计、UML、设计模式、软件开发方法学、 XP、重构等方面都有重要贡献。他更是全球最具影响力的技术作家之一,除本书外,他的《分析模式》、《UML精粹》、《重构》等著作都已经成为经典。
  作者: Martin Fowler 是一位独立咨询顾问,他运用对象技术解决企业问题已经超过十年。他的顾问领域包括健康管理、金融贸易,以及法人财务。他的客户包括Chrysler,Citibank,UK National Health Service,AndersenConsulting,NetscapeCommunications。此外Fowler也是objects、UML、patterns技术的一位合格讲师,他是《AnalysisPatterns》和《UML Distilled》的作者。
  同作者作品
  企业应用架构模式[按需印刷]
  UML精粹:标准对象语言简明指南(第3版)
  UML精粹:标准对象建模语言简明指南(第3版)(英文影印版)
  15. 设计模式:可复用面向对象软件的基础(英文版)
  原书名: Design Patterns Elements of Reusable Object-Oriented Software
  作者: (美)Erich Gamma Richard Helm Ralph Johnson John Vlissides
  内容简介:Capturing a wealth of experience about the design of object-oriented software, four top-notch designers present a catalog of simple and succinct solutions to commonly occurring design problems. Previously undocumented, these 23 patterns allow designers to create more flexible, elegant, and ultimately reusable designs without having to rediscover the design solutions themselves.
  作者: Erich Gamma
  Erich Gamma在苏黎世大学获得计算机科学博士学位,曾供职于瑞士联邦银行、Taligent、OTI公司。现在是Eclipse项目的主要技术负责人之一。
  Richard Helm在墨尔本大学获得计算机科学博士学位,曾在IBM T.J.Watson担任研究员。现在IBM咨询集团供职。
  作者: John Vlissides 在斯坦福大学获得计算机科学博士学位,目前是IBM T.J.Watson研究中心的研究员。除本书外,他还是Addison-Wesley“软件模式”丛书的顾问。
  作者: Ralph Johnson
  Ralph Johhson在康奈尔大学获得计算机科学博士学位,目前是伊利诺伊大学教授.在模式、重构等领域均有很高造诣。
  同作者作品
  设计模式:可复用面向对象软件的基础(英文版)
  设计模式:可复用面向对象软件的基础(模式中的泰山北斗)
  设计模式--可复用面向对象软件的基础(双语版)
  16.原书名: Pattern-Oriented Software Architecture, Volume 1: A System of Patterns
  作者: Frank Buschmann,Regine meunier,Hans Rohnert,Peter Sommerlad,Michael Stal
  译者: 贲可荣 郭福亮 等
  内容简介:本书系统地介绍了模式的概念并讨论了模式描述的原则;给出了来自不同应用领域的8个软件体系结构模式;还给出了8个设计模式,这些模式分别针对在定义了软件系统的整体结构之后遇到的典型问题;对惯用法模式进行了阐述;论述了将模式组织成模式系统的重要性;讨论了模式如何嵌入到软件体系结构中,特别是对软件体系结构及其基本原则的理解。此外,本书还介绍了模式历史、相关工作和整个模式团体,并对模式的未来发展作了展望。本书力图做到既是教材又是参考指南,帮助软件开发人员以一种新的方式考虑软件体系结构,并提供了一些技术来解决特定的再现设计问题,对软件开发的初学者和专家都有帮助。把本书用作软件工程课程的指南,可以给学生提供大型软件设计的完整的新观点。把本书用作参考手册,可以提供全面的技术并随查随用。本书包含了涉及模式实际应用的许多指导原则和约束限制。
  17. Head First设计模式(中文版)
  原书名: Head First Design Patterns
  作者: Eric Freeman Elisabeth Freeman With Kathy ierra Bert Bates
  内容简介:强大的写作阵容。本书作者Eric Freeman;ElElisabeth Freeman是作家、讲师和技术顾问。Eric拥有耶鲁大学的计算机科学博士学位,E1isabath拥有耶鲁大学的计算机科学硕士学位。作者: Kathy Sierra
  同作者作品
  深入浅出设计模式(英文影印版)(2005年第15届Jolt获奖作品)(被《程序员》等机构评选为2006年最受读者喜爱的十大IT图书之一)
  Head First Servlets & JSP中文版
  Head First设计模式(中文版)(09年度畅销榜NO.6)(08年度畅销榜NO.3)(07年度畅销榜NO.1)
  作者: Bert Bates
  作者: Elisabeth Freeman
  18. 设计模式之禅(Java版)
  原书名:The Zen of Design Patterns
  作者: 秦小波
  内容简介:如果说“四人帮”的《设计模式》是设计模式领域的“圣经”,那么之后出版的各种关于设计模式的书都可称之为“圣经”的“注释版”或“圣经的故事”。本书是得道者对“圣经”的“禅悟”,它既不像“圣经”那样因为惜字如金、字字珠玑而深奥、晦涩和难懂,又比“圣经”的“注释版”更深刻和全面、更通俗和生动、更接近开发者遇到的实践场景,更具指导性。本书兼收并蓄、博采众长,也许是设计模式领域里的下一个里程碑之作。
  同作者作品
  设计模式之禅(Java版)
  19.模式、领域驱动设计和测试驱动开发
  原书名: Applying Domain-Driven Design and Patterns: With Examples in C# and .NET 。
  作者: (瑞)Jimmy Nilsson
  译者: 赵俐 马燕新
  内容简介:模式、领域驱动设计和测试驱动开发赋予架构师和开发人员前所未有的能力,使他们能够创建功能强大、健壮且可维护的系统。但是,如何在实际项目中充分发挥这些利器的潜力呢?.
  作者: Jimmy Nilsson 资深软件架构师,有超过20年从业经验,2008年在瑞典主要IT媒体评选的全国软件架构师和开发人员排行榜上名列第2。目前担任factor10咨询公 司CEO,客户包括爱立信、微软、沃尔沃等。本书是他的代表作,已被翻译为日、俄等多种文字,他的另一部著作.NET Enterprise Design with Visual Basic .NET and SQL Server 2000也获得Amazon 4星半评价。
  同作者作品
  领域驱动设计与模式实战(china-pub首发)(Martin Fowler和Eric Evans两位大师联袂推荐)
  20. 设计模式沉思录
  作者: (美)John Vlissides
  译者: 葛子昂
  内容简介:本书作者是设计模式的开山鼻祖之一。在本书中,他不仅通过一些通俗易懂的实例对如何运用设计模式进行了深入的讲解,而且还介绍了一些新的设计模式。同时还讲述了模式背后鲜为人知的一些故事,让读者领略其中的苦与乐。
  作译者介绍John Vlissides(1961—2005)设计模式四人帮之一,《设计模式》一书的作者。曾在斯坦福大学工作,自1991年起任IBM T. J. Watson研究中心的研究员。他还曾是《程序设计的模式语言》的编辑,Addison-Wesley“软件模式”丛书的顾问。因患脑瘤于2005年感恩节(11月24日)病故。为纪念他的贡献,ACM SIGPLAN特设立了John Vlissides奖。
  21. JavaScript设计模式(JavaScript领域里程碑之作)
  原书名: Pro JavaScript Design Patterns 作者: (美)Ross Harmes Dustin Diaz
  译者: 谢廷晟
  内容简介:本书共有两部分。第一部分给出了实现具体设计模式所需要的面向对象特性的基础知识,主要包括接口、封装和信息隐藏、继承、单体模式等内容。第二部分则专注于各种具体的设计模式及其在javascript 语言中的应用,主要介绍了工厂模式、桥接模式、组合模式、门面模式等几种常见的模式。为了让每一章中的示例都尽可能地贴近实际应用,书中同时列举了一些javascript 程序员最常见的任务,然后运用设计模式使其解决方案变得更模块化、更高效并且更易维护,其中较为理论化的例子则用于阐明某些要点。
  作译者介绍:Ross Harmes,资深Web程序员,有10多年编程经验。现任Yahoo前端工程师。他是开源图片博客软件Birch的开发者。Blog地址为Http://tecrhfoolery.com。
  作者: Ross Harmes ,资深Web程序员,有10多年编程经验。现任Yahoo前端工程师。他是开源图片博客软件Birch的开发者。
  同作者作品
  JavaScript设计模式(JavaScript领域里程碑之作)
  作者: Dustin Diaz
  Dustin Diaz,资深Web程序员,现任Google用户界面工程师。新一代JavaScript框架DED|Chain(兼具jQuery和YUI的优势)的开发者。他还是一位中长跑健将,800米跑曾经在全美国排名第13。拥有西班牙语学士学位。
  同作者作品
  JavaScript设计模式(JavaScript领域里程碑之作

 

=====================================================================================================

作者:刘慰
链接:https://www.zhihu.com/question/19679933/answer/15827131
来源:知乎
著作权归作者所有,转载请联系作者获得授权。

《设计模式》(GOF):不推荐初学者看。这四人都是Phd级别,就是他们最先提出了设计模式,理论水平高,虽然薄薄一本,但是文字相对晦涩,也缺乏容易理解的例子。等你到一定程度了,有兴趣的话可以看一下。

《Head First设计模式》:好书,里面的例子生活化,而且非常贴切,读起来比较有乐趣,一步一步推进,逻辑上也很清晰。 书中语言采用的是Java。 如果你不被它的接近700页的厚度吓到的话,属于入门的好书。缺点是缺乏实际工程实践的例子,但是对于你入门,对各种设计模式有个初步的理解,是很有益处的。这本书是我向学生首推的一本关于设计模式的书。

《大话设计模式》(程杰):在前几年我刚接手《软件架构与设计模式》这门课的时候,市面上关于设计模式的书还比较少,国内作者出品的同类书籍更少,这本书属于最出名的一本。 书中采用的语言是C#。 前几章介绍了一下OOP/OOD的几个基本原则,如果你对OOP/OOD中的接口,继承,多态这些概念不是很清楚(或者只是知道概念,不知道如何使用的话),可以选择这本书。个人感觉(不一定对),这本书在很大程度上模仿了《Head First》的写作风格,但是有点为了举例而举例的感觉,有些例子比较牵强,无助于理解,反而有可能造成误解。行文上某些时候为了幽默而幽默,效果也不好。另外也基本没有在工程实践中的应用。总体来说,不如《Head First》。

《设计模式》(刘伟,清华大学出版社):这本书出来的比较新,说实话我都没读过。不过这本书的定位就是作为设计模式的入门教材,加上清华大学出版社的金字招牌,质量还是非常有保障的。通过我对此书配备的PPT,以及作者网站(刘伟技术博客 ,上面有很多非常好的内容,不仅限于设计模式)的了解,此书应该还是很适合初学者入门之用,里面也有不少实际工程中的例子可供参考。不过限于篇幅,书中的内容更偏重于对设计模式本身的讲解。作者还推出了其他几本书,如和此书配套的《设计模式实训教程》,不过我没读过,所以就不评价了。另外还有《C#设计模式》和《 设计模式的艺术——软件开发人员内功修炼之道 》(此书从书名来看,应该更贴近于工程实践中的应用)。

《设计模式:基于C#的工程化实现及扩展》(王翔):如果你对设计模式有了一定的了解,而且想要在工作中使用设计模式的话,这本书是我最推荐的一本书。从书中就可以看出,作者具有相当丰富的工程实践经验,而且不像某些技术人员,他的文字功底也很好,逻辑思维非常清晰,如果放在高校软件学院里,上个相关的研究生课程应该不成问题。而且书中的内容不仅限于介绍GOF的经典设计模式,更强调它们之间的融合,并介绍了其他的一些设计模式,其中关于实践应用的各种案例非常非常非常有参考价值。

《设计模式之禅》与《研磨设计模式》:这两本书都没有仔细通篇看过,而且风格与定位都类似,所以放在一起介绍了。这两本书的特点都是作者先在自己的博客上发表了一些关于设计模式的文章,然后再整理起来成为了一本书。如果一时半会找不到书或者不想买的话,可以到网上搜索他们的博客。就我读过的章节来说,我相对地更加推荐《研磨设计模式》这本书,每种设计模式都配有如何在工程中应用的非常详细的讲解,并会对经典的设计模式有一个扩展,找的例子也更加贴切一些。如果你已经对设计模式的基本概念有了了解,想要进一步深入的话,推荐《研磨设计模式》,如果你觉得还想更加扩展对于某个模式的了解,可以再配合着看一下《设计模式之禅》。

总结:我的推荐列表如下:
入门(《Head First设计模式》/《设计模式》(刘伟)+《设计模式实训教程》(刘伟))→进阶(《研磨设计模式》/《设计模式之禅》)→应用(《设计模式:基于C#的工程化实现及扩展》)→理论提高(GOF《设计模式》)

posted on 2017-02-10 21:16  hoyong  阅读(3007)  评论(0编辑  收藏  举报