- 浏览: 119398 次
- 来自: ...
文章分类
最新评论
就像<<Ruminations on C++>>一样,<<Modern C++ Design>>关注的首先是Design,它明确的将这种设计命名为了“基于Policy的编程”,而不再用“模块化”、“封装变化”等泛泛的术语;其次是C++,核心是TypeList;如果<<Ruminations on C++>>是C++初创的十几年中Classic C++的设计指南的话,类似TypeList的思想则可能是最近几年和未来几年Modern C++的设计指南
1,policy
关键是将class分解为一组正交的行为;正确的分解出来之后,它叫policy也好,依赖注入也好,静态也好,动态也好,都无所谓,只需用手边的语言或工具将它们组织起来即可,良好的设计不依赖于它的名字,基于policy的编程和依赖注入基本是一回事,关键是你基于哪些policy,你注入啥
2,编译器:被忽略的计算机
编译器对代码所做的检查,即是编译器的接口,是很重要和有用的计算能力,所有编译期技术皆依赖于此;这些可利用的计算能力实际上包括所有C++语法规则: 类型系统、大小不能为0的数组、用到的类或函数必须有定义、sizeof()、模板实例化,等等
3,局部类
可用于在针对接口编程的系统中隐藏实现
4,Int2Type, Type2Type, TypeSelection....
额外的中间层
5,typelist
简直就是LISP,最简单却又最具表达力,一切拜抽象、递归所赐
template<T, U> struct TypeList{ typedef T Head; typedef U Tail; } |
6,Command Pattern 与 Functional Programming
在非FP的编程语言中进行FP风格的编程时,关键的一点是状态和时序;Command对象封装了状态,也封装了真正eval的时机,使Command对象的客户可以进行FP风格的编程
7,仿函数与函数指针
有基本兼容的语法和语义,区别之一是当存在重载函数时,函数指针有歧义,此时可通过赋值或转型来选出感兴趣的那个重载函数
8,GP 与 OO
在泛型程序设计中,template实参对其相应形参的语法替换是很典型的情况;template的处理发生在编译之前,这让你得以在源码层级有所动作;OO与此并无不同,它的威力来自于“名称(name)”与“实值(value)”的后期(编译后)绑定;因此,OOP支持二进制组件形式的复用,GP支持源码层级的复用;与二进制码相比较,源码天生具有更多信息和更高级别,所以泛型编程支持更丰富的构件,但其代价是较弱的执行期动态性;你无法通过STL完成CORBA所能完成的功能,反之亦然,两种技术相互补充
发表评论
-
The Object Primer
2004-12-11 11:21 5951,书名 被翻译成“ ... -
错误处理规范
2004-12-11 16:47 760错误处理规范 〇、概念澄清 概念 解释 错误 ... -
Java,误解为何如此之深
2005-08-24 13:50 596前几天被电话面试,问J ... -
Java:画蛇添足的编码规范
2005-09-02 13:13 624前几天公司培训编码规范: 第n条: ... -
synchronized : 规则, 推论与实践
2007-07-23 22:32 47314.3.Synchronization. Rule ... -
交互设计: 股市帮凶
2008-05-04 21:30 649同事 Y 在线操作股票时, 把"买入"点成 ... -
交互设计: 火车上的厕所
2008-05-26 17:17 614有人在动车组的厕所前等了很久, 直到乘务员路过说厕所是被锁住了 ... -
设计原则与模式: 案例介绍--CppUnit
2008-06-01 20:15 635设计原则与模式: 案例介绍--CppUnit CppUnit ... -
工作流:形参,实参,相关数据
2004-12-11 11:40 678关于形参,实参,相关数据 一、形参(FormalParame ... -
工作流:第一次发版,过程总结
2004-12-11 11:42 714交流 即时讨论:小组成员咫尺之遥,有问题立即提出并解决 ... -
工作流:第一次发版,设计总结
2004-12-11 11:43 614整体 面向接口:消息系统,持久系统等,其实现都是可替换 ... -
Beyond Workflow : An Introduction to Vitria BusinessWare
2005-09-26 10:13 807一、简介 Busines ... -
Vitria BusinessWare: 存储与访问安全
2006-03-26 15:45 755事实上,BusinessWare使用LDAP做为存储机制和 ... -
Vitria BusinessWare: 平台与软件总线
2006-04-01 12:59 853经过一段时间的使用 ... -
Vitria BusinessWare: Web Services
2006-04-01 14:30 744BusinessWare的Web Services ... -
Web Services:自洽,编码,交换模型
2006-04-01 16:02 6891, 自洽 以前曾经写过: 目前WebServi ... -
Web Services:WSDL 1.1 规范中的几个错误
2006-04-01 16:40 730读完了WSDL 1.1的规范,令人惊讶的是发现似乎例子中有几个 ... -
C++/CLI:被忽视的集成技术
2006-05-17 20:02 760十几行代码,就使一个重要的旧系统组件,完全融入了基于.Ne ... -
AJP/JK:异构Web平台的集成技术
2006-05-25 21:44 713Tomcat Connector 可以将Tomcat ... -
Vitria BusinessWare: 事件与端口
2006-05-27 17:24 677Event BusinessWare是一个事件驱动的系统 ...
相关推荐
Modern C++ Design英文版.pdf Modern C++ Design英文版.pdf是一本关于C++设计和编程的重要书籍,由Andrei Alexandrescu编写,Addison Wesley出版社出版,于2001年2月1日出版,共352页。本书探讨了C++设计和编程的新...
《Modern C++ Design》是Andrei Alexandrescu撰写的一本关于C++泛型编程和设计模式应用的经典著作。这本书通过深入探讨C++模板技术,展示了如何利用这些技术实现高效且灵活的设计模式。书中介绍了多种创新技术,如...
Modern C++ Design: Generic Programming and Design Patterns Applied By Andrei Alexandrescu Publisher : Addison Wesley Pub Date : February 01, 2001 ISBN : 0-201-70431-5 ...
《Modern C++ Design》是Andrei Alexandrescu所著的一部探讨C++高级编程技巧与设计模式的著作。本书深入探讨了泛型编程和模板(template)在C++中的强大功能,并且强调了泛型编程与设计模式的结合应用。通过丰富的...
《Modern C++ Design》是Andrei Alexandrescu撰写的一本经典著作,主要探讨了C++中的泛型编程和设计模式的应用。这本书分为英文版和简体中文版,为读者提供了深入理解C++高级特性的宝贵资源。以下是该书涉及的一些...
《Modern C++ Design》是Andrei Alexandrescu撰写的一本经典书籍,专注于C++的现代设计模式和编程技术。这本书不仅对于深入理解C++的高级特性至关重要,而且对于提升C++代码的设计质量和效率有着深远的影响。它揭示...
《Modern C++ Design》是Andrei Alexandrescu撰写的一本经典C++设计模式与泛型编程的著作。这本书深入探讨了如何在C++中利用模板元编程和设计模式来实现高效、灵活且可复用的代码。以下是该书的一些关键知识点: 1....
Modern C++ Design Generic Programming and Design Patterns Applied 英文epub 本资源转载自网络,如有侵权,请联系上传者或csdn删除 查看此书详细信息请在美国亚马逊官网搜索此书
《Modern C++ Design》是Andrei Alexandrescu撰写的一本经典书籍,该书详细探讨了C++中的泛型编程和设计模式。这本书分为中文版和英文版,为读者提供了全面理解现代C++设计理念的机会,同时附带完整的书签,方便读者...
Modern c++ design 简体中文、繁体中文和英文 现代c++的设计是一个重要的书。从根本上说,它展示的通用模式”或“模式”作为有力的模板创建可扩展的新方法设计c++——一种新的方法相结合,对模板和模式,你可能永远的...
《Modern C++ Design: Generic Programming and Design Patterns Applied》是由 Andrei Alexandrescu 编写的一本关于 C++ 的高级技术书籍,该书由 Addison Wesley 出版社于 2001 年 2 月出版,ISBN 为 0-201-70431-5...
本书提出了泛型组件的概念,这是一种可重用的设计模板,可用来产生规范的C++代码。泛型组件还提供了从设计到代码的无缝转换,生成更能表达设计者最初意图的代码,并支持设计模式的重用——只需改动少量的代码。本书...
Modern C++ Design.pdfModern C++ Design.pdfModern C++ Design.pdfModern C++ Design.pdf
### Modern C++ Design: 关键知识点解析 #### 一、概览 《Modern C++ Design: Generic Programming and Design Patterns Applied》是由Andrei Alexandrescu所著的一本关于现代C++设计的重要著作。本书首次出版于...
现代c++的设计是一个重要的书。从根本上说,它展示的通用模式”或“模式”作为有力的模板创建可扩展的新方法设计c++——一种新的方法相结合,对模板和模式,你可能永远的梦想可能,不过是。如果你的工作是c++的设计和...
《现代C++设计:泛型编程与设计模式应用》是一本由Andrei Alexandrescu编写的经典著作,它深入探讨了C++中的高级设计技术,尤其是泛型编程和设计模式的应用。这本书对于想要提升C++编程技能的专业人士来说,是一份不...