首页 > 图书中心 >图书详情

C++新经典:设计模式

本书将以一个实际的游戏案例贯穿始终,针对每个设计模式都会举出一到多个来自于实践并且有针对性的范例。阅读本书读者可以学到两方面知识:①某个设计模式对应的代码怎样编写;②该设计模式解决了什么样的问题。这两方面的知识学习明白后,自然就知道在什么场合下应该采用这种设计模式。

作者:王健伟
定价:99
印次:1-3
ISBN:9787302601982
出版日期:2022.08.01
印刷日期:2023.06.05

用C++语言来讲述设计模式的书非常少,绝大部分书籍是使用Java语言讲述设计模式,而且能把设计模式讲述得比较清楚的书也并不多见。绝大部分书籍在讲解设计模式时所举的例子和实际工作中所面对的真正项目差别很大,读者学习后感觉不之所云,更别提实际运用。设计模式知识本身并不复杂,但讲解这门知识的难度非常大,设计模式主要应该讲明白两方面的知识:①某个设计模式对应的代码怎样编写;②该设计模式解决了什么样的问题。只要这两方面的知识讲明白,自然就知道在什么场合下应该采用这种设计模式。 本书面对的是希望系统学习C++设计模式方面知识的中高级C++开发者,书中将逐一详解二十四个常见的设计模式。书中将摆脱以往枯燥的单纯介绍设计模式的讲解方法,以一个实际的游戏案例贯穿讲解。当然,因为设计模式的应用场合复杂多变,无法在一个案例中覆盖所有设计模式,那么对于这种设计模式,笔者将单独举例进行讲解。

more >

前言 亲爱的读者,如果你已经读完了笔者的《C++新经典》《C++新经典: 对象模型》,并希望将来能够驾驭更大型的C++项目,那么不要错过这本重要的C++进阶书籍。 书籍介绍 设计模式是程序员在长期的开发实践中总结出的一套提高开发效率的编程方法,是被反复使用的代码设计经验总结,是在特定问题发生时的可重用解决方案,体现着人们尝试解决某些问题时的智慧。使用设计模式的主要目的是在设计大型项目时,保证所设计的模块之间代码的灵活性和可复用性。 用C++语言讲述设计模式的书非常少,大部分作者使用Java语言,而且在讲解设计模式时所举的例子和实际工作中所面对的真实案例差别较大,读者学习后感觉实际运用有困难。 设计模式知识本身并不复杂,但讲清楚这门知识的难度非常大,设计模式主要应该讲明白两方面的知识: (1) 某个设计模式对应的代码怎样编写; (2) 该设计模式解决了什么样的问题。 只要把这两方面的知识讲明白,读者就会知道在什么场合下应该采用何种设计模式。 本书面对的是希望系统学习C++设计模式方面知识的中高级开发者,将逐一详解24个常见的设计模式。为摆脱以往枯燥的单纯介绍设计模式的讲解方法,书中内容以一个实际的游戏案例贯穿。当然,因为设计模式的应用场合复杂多变,无法在一个案例中覆盖所有设计模式,所以对于这种设计模式,笔者将单独举例进行讲解。在讲解过程中,一般会首先说明传统编码中将会遇到的问题,而后随着需求的不断增加和变化,代码需要进行重构,从而引出各种设计模式的实际运用,并穿插讲解面向对象程序设计的各个原则。 每个设计模式都会列举一到多个来自实际工作中的范例,帮助读者理解该模式要解决的问题以及详细实现该设计模式的方法,使读者理解和明白在遇到什么样的问题时可以利用哪种设计模式来解决。 书中的内容尽量化繁为简,不会把一些非常复杂难懂的采用设计模式的实战案例搬进来。实践证明,在设计模式中过多地介绍复杂的实战案例只是听起来不错,但因其固有的复杂性,会对学习者造成极大的理解负担,还会“喧宾夺主”,使得学习者既不能理解案例,也无法掌握设计模式。 阅读完本书并不是学习设计模式的结束,而是一个新的开始,读者应该尽可能多地阅读实际项目代码,运用设计模式不断思考和总结,并在实践中进一步提高自己对设计模式的运用能力。 需要的基础知识 本书定位为“C++进阶”书籍,需要读者对C++开发有比较好的基础(例如,学习单件模式时要求对多线程编程已经有比较好的掌握),尤其是对多态、虚函数的理解和使用必须做到明白无误,因为这两个概念在设计模式中体现得淋漓尽致。强烈建议读者在阅读本书之前先阅读笔者所著的《C++新经典: 对象模型》,该书对多态和虚函数的实现原理有非常详细的解释。《C++新经典: 对象模型》是一本值得珍藏的书,能够让读者对本书的学习如虎添翼。本书所涉及的范例代码不需要用到C++11新标准中的内容,所以不要求读者掌握C++11新标准。 书籍阅读进度 全书共22章,此外还包括附录A和附录B。第1章是理论知识,包括对设计模式和软件开发思想的介绍以及具体编程环境搭建工作的说明。理论知识读者可以进行阅读并在心目中有个大致印象,对于一些重点内容可以适当做标记以方便将来的复习,编程环境的搭建工作建议遵照书中第1章描述进行,以确保后续书中讲解的内容能够顺利演示。整个第1章的学习内容建议1周之内完成。从第2章开始一直到第22章,会详细讲解24个设计模式,每个设计模式的学习和实践(在实际计算机上运行通过书中的各个范例)所花费的时间建议不超过1周,这意味着大概需要24周的时间来学完24个模式。 附录A和附录B有极高的学习价值,读者千万不可以因为这些内容放在附录中而轻视,要以同样认真的态度学习,建议每周至少学习一节内容(例如,A.1算作一节),这两个附录大概需要额外的10周学完。 对于上班的读者,可以尽量将学习时间安排在晚上和周末。整本书大概需要245天的学习时间,再将时间稍微延后一些,能够在365天(一年)的时间之内学完,就是一种比较适当的学习速度。在学习过程中,一定要动起手来,书中每个地方的内容、代码,都要亲自实践来验证,并且都要保证验证成功,动手实践的步骤是往自己的大脑中深入镌刻真正知识的步骤,一旦缺少这个步骤,你的记忆就会不深,掌握的知识就会不牢。 运行环境 本书的范例全部在Windows操作系统下的Visual Studio 2019集成开发环境下调试通过。之所以选择这个平台环境,是因为它对开发者相当友好,开发和调试程序特别方便,尤其对初学者,极大降低了学习难度。 书中也详细阐述了在Windows操作系统下安装Visual Studio 2019的过程,由于对开发环境的版本没有太高要求,所以如果读者有其他低版本的Visual Studio也可以使用。对于在Linux下从事C/C++开发的读者,书中的范例基本上不做改动就可以跨操作系统平台运行。 资料获取 本书有完整的配套学习资料(源码),读者可以免费获取。获取方法如下: (1) 请查找并关注“程序员速成”微信公众号。 (2) 在微信公众号中,输入“设计模式”4个字,就可以得到配套学习资料下载链接。 C++知识体系庞杂,而C++模板与泛型编程方面的知识又具有一定深度和难度,由于水平所限,虽然笔者非常尽心尽力,但书中错误在所难免,恳请各位读者发现错误后不吝指教。 作者2022年4月

more >
扫描二维码
下载APP了解更多
图书分类全部图书
more >
  • 王健伟 单位:自由职业者;职务、职称:无;性别:男 年龄:44 专业:计算机及其应用  学历:大专  研究领域:计算机软件开发,以C++语言开发为主,涉及领域为网络通信、网络安全、网络游戏等 研究成果:著有《Crystal Reports水晶报表设计与开发实务》,四门视频教程《C语言入门》、《C++从入门到精通》、《C++对象模型探索》、《Linux C++通讯架构实战卷1》已取得著作权并在网易云课堂、51cto、课课家等在线教育网站长期居于课程畅销榜的最前列。
  • 本书将逐一详解二十四个常见的设计模式。书中将摆脱以往枯燥的单纯介绍设计模式的讲解方法,以一个实际的游戏案例贯穿讲解。
more >
  • 目录

    第1章设计模式与软件开发思想、编程环境介绍

    1.1设计模式概述

    1.1.1设计模式基本概念

    1.1.2设计模式中的抽象思维

    1.1.3学习设计模式普遍存在的问题

    1.1.4设计模式的缺点

    1.1.5设计模式在实际工作中的应用和学习方法

    1.1.6学习设计模式的态度、方法和本书的特点

    1.2软件开发思想、设计模式分类与讲解规划

    1.2.1大型项目的软件开发思想

    1.2.2设计模式分类及讲解规划

    1.3C++编程环境介绍

    1.3.1C++编程环境搭建说明

    1.3.2创建最基本的能运行的C++程序

    1.3.3Visual Studio中程序的调试方法

    第2章模板方法模式

    2.1一个具体实现范例的逐步重构

    2.2引入模板方法模式

    2.3模板方法模式的UML图

    2.4程序代码的进一步完善及应用联想

    第3章工厂模式、原型模式、建造者模式

    3.1工厂模式

    3.1.1简单工厂模式

    3.1.2工厂方法模式

    3.1.3抽象工厂模式

    3.2原型模式

    3.2.1通过工厂方法模式演变到原型模式

    3.2.2引入原型模式

    3.3建造者模式

    3.3.1一个具体实现范例的逐步重构

    3.3.2引入建造者模式

    3.3.3另一个建造者模式的范例

    3.3.4建造者模式的总结

    第4章策略模式

    4.1一个具体实现范例的逐步重构

    4.2依赖倒置原则

    第5章观察者模式

    5.1一个遍历问...

精彩书评more >

标题

评论

版权所有(C)2023 清华大学出版社有限公司 京ICP备10035462号 京公网安备11010802042911号

联系我们 | 网站地图 | 法律声明 | 友情链接 | 盗版举报 | 人才招聘