
设计模式 / 模板
geeeeeeee
这个作者很懒,什么都没留下…
展开
-
C++ primer 摘要《函数模板》20090120
===10.1 函数模板定义===模板参数可以是一个模板类型参数,它代表了一种类型也可以是一个模板非类型参数,它代表了一个常量表达式template //当函数模板min()被实例化时size 的值会被一个编译时刻已知的常量值代替Type min( Type (&arr) [size] ); // size 指定数组参数的大小并初始化一个 const int 值template Type原创 2009-01-20 17:15:00 · 1027 阅读 · 0 评论 -
体验C++中接口与实现分离的技术
在用C++写要导出类的库时,我们经常只想暴露接口,而隐藏类的实现细节。也就是说我们提供的头文件里只提供要暴露的公共成员函数的声明,类的其他所有信息都不会在这个头文件里面显示出来。这个时候就要用到接口与实现分离的技术。 下面用一个最简单的例子来说明。 类ClxExp是我们要导出的类,其中有一个私有成员变量是ClxTest类的对象,各个文件内容如下: lxTest.h文件内容:转载 2009-02-09 21:11:00 · 648 阅读 · 0 评论 -
把乘法变成加法 模板
把乘法变成加法不要误会,不是用加法重载operator*。(做这种事情的程序员应该立刻开除)。或者任何跟计算有关的事。这里要讲的是另外一个故事。当你看我这篇帖子的时候,是否想过你的计算机是如何构成的?内存、主板、硬盘、cpu、显卡、显示器、光驱、键盘、鼠标等等。没错,你肯定很熟悉了。那么,你是否想过电脑厂商为了生产不同的配置的计算机,准备了多少配件吗?不好意思,我也不清楚。不过没关系,我们可以转载 2008-12-17 15:06:00 · 989 阅读 · 0 评论 -
Bridge 模式
优快云: 先讲讲bridge吧。bridge就如大家所说,抽象和实现的分离,相当于提供了灵魂和肉体的分离。没有这个分离,猪的灵魂永远投生到猪的肉体中,猴子的灵魂永远投生到猴子的肉体中,有了这个分离,猪有可能投生为猴子,猴子有可能投生为猪。 如何与abstract factory相结合呢?很简单,这些肉体需要创建,这就需要创建模式。为什么需要abstract fa转载 2008-12-19 16:47:00 · 746 阅读 · 0 评论 -
23种设计模式
设计模式分类:第一是目的准则,即模式是用来完成什么工作的。模式依据其目的可分为创建型(Creational)、结构型(Structural)、或行为型(Behavioral)三种。创建型模式与对象的创建有关;结构型模式处理类或对象的组合;行为型模式对类或对象怎样交互和怎样分配职责进行描述。第二是范围准则,指定模式主要是用于类还是用于对象。类模式处理类和子类之间的关系,这些关系通过继承建立,是静态的原创 2008-12-22 12:51:00 · 631 阅读 · 0 评论 -
设计模式摘要
O M T的表示法将类描述成一个矩形,其中的类名以黑体表示的。操作在类名下面,以常规字体表示。类所定义的任何数据都在操作的下面。类名与操作之间以及操作与数据之间用横线分割。箭头线表示一个类对另一个类实例的引用关系。引用名是可选的虚箭头线表示一个类实例化另一个类的对象,箭头指向被实例化的对象的类。竖线和三角表示子类关系抽象类的类名以斜体表示实现操作的伪代码出现在带有摺角的框中,并用虚线将该摺角框与代原创 2008-12-22 22:06:00 · 605 阅读 · 0 评论 -
OGRE中的设计模式
Ogre使用观察者(Observer)模式将自己的每一个状态变化通知给应用程序,客户代码通过注册来监听Ogre中事件和状态的改变来得到相应通知(例如演示程序中使用的FrameListener对象,可以监听到应用程序每一帧渲染的开始和结束事件)。单件模式(Singleton)用来保证一个类只有一个实例迭代器模式(Iterator)用来历遍一个数据结构中的所有数据。访问者模式(Visitor)可原创 2008-12-22 22:11:00 · 1136 阅读 · 0 评论