Qt设计模式(第二版):谁最需要本书?

122 篇文章 105 订阅
  • 情人节前夕,突然受邀作为本书中文版的审校,心中在惊喜之余,也有些诚惶诚恐。能与闫老师(yfx2003)合作,共同学习与探讨,确是一件幸事;但是自己真的能胜任该工作么?一开始心里还真是没底。不过靠着各位译者的辛勤与认真地工作,本书翻译工作按时完成,并已交稿。该书究竟如何,我们说了不算,最终还需要大家自己进行评判。只希望一点:在当前国内计算机类图书鱼龙混杂的情况下,本书不至于会让你失望。

Qt设计模式(第二版),英文名: An Introduction to Design Patterns in C++ with Qt™, 2nd Edition。

对于这样一本书,我想大家关心的可能就是:

  • 这本书有什么亮点?
  • 这本书有什么劣势?
  • 这本书是否适合我?
  • ... ...

特点?

  • 它是一本在美国Suffolk大学已使用十余年的C++和Qt教程(当然,其内容也一直在演变)。
    • 这是一本教材,一本C++的教材,所以不要求你有其他先修课程的基础。
  • 它是Nokia Certified Qt Developer和Nokia Certified Qt Specialist认证的指定参考书籍之一,全书内容基本都是下面3项考试的考点
    • Qt Essentials
    • Widget UI with Qt
    • Core C++ for Qt Developers
  • Qt首席架构师 Lars Knoll(Qt Project的 Chief Maintainer)为之作序。这能说明些问题吧?
  • ...

谁需要这本书?

要搞清这个问题,实在挺难,不过我们可以试着看看它是一本什么书

这是一本C++和/或Qt的入门书

如果你由于某种原因需要使用Qt,但是却没有C++的基础(一个简单的判断标准:比如C++ Primer中的大部分内容都不了解)。那么本书绝对你是所需要的,它借助短小例子讲解C++的基础概念,但又不涉及那些属于C++标准,但是对于Qt用户来说基本不会用到的东西。

如果你在学习C++,而却正在为C++的自身类库的局限性所苦恼。比如:C++98/C++03没有对unicode提供任何支持,一般只有一个非常含糊的wchar类型可用,尽管C++11和C1X提供了unicode支持,但现在却仍没有编译器支持。比如:C++标准中没有界面库,而调用系统API来写图形界面非常痛苦,而且不能跨平台。比如:尽管C++的标准模板库功能相当强大,但是你可能无法容忍这堆东西写的代码,你可以对比STL中的容器和Qt的容器,可以对比C++11中的正则表达式和QT中的正则表达式来感受一些。

如果你正准备学C++,但面对繁多的书籍无所适从,那么本书是比较适合你的书籍之一(其他值得推荐的书籍也很多,一般来说,翻译的书籍会比国内原创的要好很多)。如果你学习C++不是为了应付学校的考虑,而是真的想学习些东西,并还想涉足一下跨平台界面,那么本书是绝佳选择。

如果你想学习一下Qt,且有一定的C++基础;如果你使用过Qt的其他语言绑定,比如PyQt4/PySide等,想涉足C++ Qt;如果你... 。不妨去书店找到本书,然后快速浏览,以确定本书是否适合于你。Qt是C++的库,你对某一语言的掌握可能足以让你做出决定。

如果你对C++没有任何兴趣,只是想批驳C++和Qt,那么本书值得买回家(不然,自己不了解的东西,怎么批判呢,对吧?)。

如果你只是想装扮一下自己的书柜,...

...

这是一本设计模式的入门书

如果你有一定的C++和Qt的基础,但是对设计模式不了解,也没有看过 设计模式精解 或 四人帮的设计模式一类的书籍,那么本书值得你考虑。

如果你对C++和设计模式都没概念,但只要你有兴趣,那么从本书开始,一块进行学习吧。

...

这也是一本C++和Qt进阶的书

矛盾么?

说它是入门的书,是因为它介绍都是常用的、有用的,但是比较基础的内容。说它是进阶的书,而因为如果这些你真的都掌握了,那么你至少会对Qt有全新的了解。别忘记,它是Nokia Certified Qt Specialist认证的指定参考书籍之一(尽管,该认证以后有什么用,以及是否继续存在,我也不清楚。so, 别问我这方面的问题哈)。

刚跨入Qt门槛的同仁可能会遇到各种比较困惑的问题:比如何时必须要重新qmake,为什么需要等。本书中包含的各类小技巧和提示,可能会有助于你跨过此类难关。C++是一个非常复杂的语言,很容易让人有挫败感!希望你不会被各类小困难吓倒。

马上就Qt5,这本书还有用么?

在看这个消息时,我也在考虑这个问题:Qt5都都是qml了,C++还有用么。而最近,似乎心底有了确切的答案。当然需要!

在Qt5中,javascript类语言QML(Qt Meta object Language)将和C++并列作为Qt的一等公民。而且可以预见,将来的Qt的书籍,开篇将是QML开始的例子,这不难理解,毕竟QML比C++简单很多,也易用很多。

但是当你想稍微深入一点时,那么你进入的将仍然是C++的世界。这个有点儿类似于(C)Python和C语言的关系,当你出于性能或其他方面的考虑想扩展Python,或者在一个C语言程序中嵌入Python程序时,你都是在和C语言和Python的api(也是C接口)打交道。

在Qt中,最突出的特色就是它的原对象系统。而现在,这一特色直接体现在名字中了:QML。

当前社会似乎是非常地浮躁,Qt开发者整体来说已经好很多了(大部分都是靠兴趣自学的,而不是通过课堂被灌输的),但是依然还是有些浮躁,在Qt4时代,突出表现就是搞不清类库Qt和语言C++的关系,求速成而忽略C++的学习。

在Qt5中,随着qml的流行,大家可能会更忽视其底层C++的学习,当然这也不见得是个坏事。

劣势?

金无足赤,人无完人。这本书也是如此

没有中文相关的内容

当然,这是国外书籍最大的问题之一。比如你看不到:

QTextCodec::setCodecForCString(...);
QTextCodec::setCodecForTr(...);
QTextCodec::setCodecLocale(...);

这种东西。

不过,说实话,这真的是一件好事。因为用这种代码的同仁,90%以上肯定都不清楚自己在干嘛:代码是如何作用的,为什么在简体的windows上这样就可以工作,有没有副作用。[一旦你使用了这种代码,你就无法保证代码的跨平台性!]

不过Qt5给大家带来了好消息,前两个函数直接取消了。而第三个,我们可能都清楚,我们在99%以上的情况下都没有理由会用到它。所以Qt5下,大家基本可以彻底和这3个函数byebye了。

由此一来,C++自身在中文方面(Unicode)的缺陷也直接暴露给大家了。

Qt很多东西没有涉及

术业有专攻。一本书包罗万象的书并不适合当教材使用,一般也不适合通读(当作参考书可能不错,但是Qt内容更新又太快)

QML相关内容、stylesheet,QtScript、webkit等等,书中都没有提及。但换句话说,它讲解的都是Qt和C++中的核心内容。掌握这部分内容后你可以借助其他资源对自己感兴趣的领域进行学习 (比如Qt5中新增加了大量的模块,全新的多媒体模块、3D模块,等)。

没有涉及如何为Qt做贡献

这是最遗憾的,它没有介绍如何向Qt Project项目提交Bug、提供补丁、参与讨论等内容。

当前 qt-project.org 已经完全开放,任何人都可以直接提交补丁,通过邮件列表或IRC频道(比如#qt-labs等)直接参与讨论。


  • 0
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
### 回答1: 《C++ Qt设计模式第二版)》是一本介绍如何在Qt框架下进行软件开发的书籍。本书主要讲述了设计模式Qt中的应用,对于希望使用Qt进行开发的人员来说,这本书是一本非常实用的工具书。 本书的作者在书中详细介绍了Qt框架中的各种常用设计模式,如单例模式、工厂模式、观察者模式、策略模式等等。通过这些设计模式,读者可以更加高效地开发出高质量的Qt应用。 在介绍设计模式的同时,作者还使用了大量的案例来帮助读者理解如何使用这些设计模式进行开发。通过案例的学习,读者可以更加深入地理解设计模式的应用。 本书的内容非常系统、全面,同时也非常实用。无论是需要学习Qt框架的新手,还是有一定经验的开发者,都可以通过这本书来提高自己的开发技能。总而言之,如果你想要更加高效地开发Qt应用,那么这本《C++ Qt设计模式第二版)》绝对是你不可缺少的工具。 ### 回答2: 《C++Qt设计模式(第二版)》是由深入浅出出版社出版的一本介绍C++Qt设计模式的技术书籍,适合那些想要深入理解C++Qt设计模式的开发者阅读。 本书涵盖了设计模式的基础知识和核心思想,包括设计模式的概念、分类和优缺点等方面的内容。作者从实战出发,通过大量的代码示例和详细的讲解,分别介绍了创建型、结构型和行为型等基本设计模式的实现方法,使读者能够深入理解设计模式的本质,并在实际开发中灵活应用。 此外,本书还分别介绍了C++Qt的基础知识,使读者能够更好地理解和掌握设计模式。作者特别讲解了Qt的信号与槽机制以及模板元编程等特性,也详细解释了Qt中的模型视图编程、线程与并发、网络编程以及图形和OpenGL编程等内容,为读者提供了全面的Qt开发技能。 总之,《C++Qt设计模式(第二版)》是一本非常有价值的技术书籍,它不仅介绍了设计模式的基本概念和应用方法,更通过详细的代码实例和讲解,帮助读者理解设计模式的实现和应用。无论是初学者还是有一定开发经验的开发人员,都可以从中获益,并提升自己的技术水平。 ### 回答3: Qt设计模式是一本面向对象编程中的经典书籍,涉及了很多常见的设计模式和它们在Qt框架中的实现方法。这本书第二版主要更新了 Qt 5 的内容,使得读者能够更好地学习和掌握Qt框架中的设计模式。 首先,本书详细介绍了23种常见的设计模式,这些模式包括创建型模式、结构型模式和行为型模式。每一种模式都有相应的原则、优缺点和实际应用场景。同时,这些设计模式Qt框架中的实例结合得非常好,让读者能够更好地理解和应用。 其次,本书提供了大量的实例,这些实例覆盖了Qt框架中的核心模块,如GUI、网络、I/O等。这些实例可以帮助读者更好地理解如何在实际项目中使用设计模式。 此外,本书还讲解了一些高级话题,如多线程编程、模板编程、元编程等。这些话题能够帮助读者更深入地理解Qt框架和面向对象编程。 总而言之,Qt设计模式(第二版)是一本非常有价值的书籍。它不仅可以帮助读者更好地掌握常见的设计模式,还能够教会读者如何在Qt框架中应用这些模式。无论是Qt开发者还是面向对象编程爱好者,都可以从这本书中受益匪浅。
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值