新思维 or 新戏法_C++设计新思维书评-查字典图书网
查字典图书网
当前位置: 查字典 > 图书网 > 编程 > C++设计新思维 > 新思维 or 新戏法
浮德 C++设计新思维 的书评 发表时间:2008-08-17 00:08:08

新思维 or 新戏法

    给这本新思维,评价为中性。习惯面向对象的人得有些心理准备,因为本书强烈依赖编译时多态绑定。把本书前半部分,1至4章,仔细梳理一通之后,印证了我的直觉:难免奇技淫巧。据我观察:语言机制本身处在发展过程中,所以技术细节可能会有部分过时。(从0x新标准看,static_assert已在语言机制上得以实现,也提供了变长参数模板。)

    开头还平易,作者宣布policy-based class(基于方略的类)的思想,把行为精心分解并封装为类型,当作模板参数和基类,布署在host class(宿主类)上,并预告将施行于后续相关模式的构造。但接下来,作者玩起了花样洗牌,cpp facility(cpp设施)杂耍。这些设施,挤榨编译期的各种机制之效能,也是炫目的关键。它们依赖模板递归,重载,专门化,sizeof,typedef,整数计算,多重继承,相与搭建而来。作者强调了多重继承的应用,这点值得注意。如能在典型实例和上下文中,展示这些精致的facility,以及这些手法之间的联系,可能不会太过令人费解。这大概是苛求。在观赏完诸如typelist、产生散乱的类继承体系,等等这些五色目迷的尖巧设计之后,钦佩作者拿模板如面团揉搓。总而言之,营养虽好,恐难消化。

    对后面那些设计模式实作,抱审慎心理为上(但也不反对)。虽然喜欢Generalized functor,Visitor,实际中要注意和别人协调,遵循局部适用和全体融洽的约定。曾热衷于使用boost::regex,lambda之类的玩艺,把它们包藏在局部,发挥作用的同时,把可能的副作用限制在局部,不要影响其他人,基于以上考虑:如果模板库简洁而恰到好处,不用白不用。这节话其实就是和侯捷的序不同调,这不尽是个体之间的分歧,这是循不同路径挣钱的人之间的客观分野。

展开全文


推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读

对“新思维 or 新戏法”的回应

everettjf 2012-07-25 16:07:29

评论很好

Marius 2011-09-01 20:12:00

作者的新思维指的是 Policy-based class

Marius 2011-09-01 01:00:03

营养虽好,恐难消化

小幺 2008-08-20 01:46:47

评论得不错
感觉就是语法糖
不适合我