上一页 1 ··· 45 46 47 48 49 50 51 52 53 ··· 60 下一页

2010年2月4日

摘要: 命令模式(Command)的目标是将一个请求封装成一个对象,因此可以参数化多个客户的不同请求,将请求排除,记录请求日志,并支持撤消操作。 结构图如下:其实现思想是将一个请求封装到一个类中(Command),再提供接收对象(Receiver),最后Command命令由Invoker调用。 以一个电灯开关为例,命令的执行、不执行相对于开关的打开、关闭操作,由开关发出命令,电灯接收命令,结构图如下:#include <iostream>using namespace std;class Light {public: Light(){}; virtual ~Light(){}; ... 阅读全文
posted @ 2010-02-04 23:35 Hibernate4 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 作用: 为其他对象提供一种代理以控制对这个对象的访问。UML结构图: 抽象基类:1)Subject:定义了Proxy和RealSubject的公有接口,这样就可以在任何需要使用到RealSubject的地方都使用Proxy. 解析: Proxy其实是基于这样一种时常使用到的技术-某个对象直到它真正被使用到的时候才被初始化,在没有使用到的时候就暂时用Proxy作一个占位符。这个模式实现的要点就是Proxy和RealSubject都继承自Subject,这样保证了两个的接口都是一致的。#include <iostream>#include <stdlib.h>using n 阅读全文
posted @ 2010-02-04 23:03 Hibernate4 阅读(405) 评论(0) 推荐(0) 编辑
摘要: 抽象基类: 1)Abstraction:某个抽象类,它的实现方式由Implementor完成. 2)Implementor:实现类的抽象基类,定义了实现Abastraction的基本操作,而它的派生类实现这些接口. 接口函数: 1)Implementor::OperationImpl:定义了为实现Abstraction需要的基本操作,由Implementor的派生类实现之,而在Abstraction::Operation函数中根据不同的指针多态调用这个函数. 解析: Bridge用于将表示和实现解耦,两者可以独立的变化.在Abstraction类中维护一个Implementor类指... 阅读全文
posted @ 2010-02-04 16:56 Hibernate4 阅读(271) 评论(0) 推荐(0) 编辑
摘要: 创建型模式:Abstract Factory(抽象工厂):提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。 Builder(生成器):将一个复杂对象的构件与它的表示分离,使得同样的构建过程可以创建不同的表述。Factory Method(工厂方法):定义一个用于创建对象的接口,让子类决定将哪一个类实例化。Factory Method使一个类的实例化延迟到其子类。Prototype(原型):用原型实例指定创建对象的种类,并且通过拷贝这个原型来创建新的对象。Singleton (单例):保证一个类仅有一个实例,并提供一个访问它的全局访问点。结构型模式: Adapter(适配器) 阅读全文
posted @ 2010-02-04 10:00 Hibernate4 阅读(191) 评论(0) 推荐(0) 编辑

2010年2月1日

摘要: 一、匈牙利命名法:广泛应用于象Microsoft Windows这样的环境中。 Windows 编程中用到的变量(还包括宏)的命名规则匈牙利命名法,这种命名技术是由一位能干的 Microsoft 程序员查尔斯·西蒙尼(Charles Simonyi) 提出的。匈牙利命名法通过在变量名前面加上相应的小写字母的符号标识作为前缀,标识出变量的作用域,类型等。这些符号可以多个同时使用,顺序是先m_(成员变量),再指针,再简单数据类型,再其他。例如:m_lpszStr, 表示指向一个以0字符结尾的字符串的长指针成员变量。 匈牙利命名法关键是:标识符的名字以一个或者多个小写字母开头作为前缀;前缀 阅读全文
posted @ 2010-02-01 09:59 Hibernate4 阅读(239) 评论(0) 推荐(0) 编辑

2010年1月31日

摘要: 关于C++中函数指针的使用(包含对typedef用法的讨论)(一)简单的函数指针的应用。//形式1:返回类型(*函数名)(参数表)char (*pFun)(int); char glFun(int a){ return;} void main() { pFun = glFun; (*pFun)(2); } 第一行定义了一个指针变量pFun。首先我们根据前面提到的“形式1”认识到它是一个指向某种函数的指针,这种函数参数是一个int型,返回值是char类型。只有第一句我们还无法使用这个指针,因为我们还未对它进行赋值。 第二行定义了一个函数glFun()。该函数正好是一个以int为参数返回c... 阅读全文
posted @ 2010-01-31 22:19 Hibernate4 阅读(254) 评论(0) 推荐(0) 编辑

2010年1月29日

摘要: 摘要:许多游戏软件的开发中,实现高速平滑的动画需要许多比较深的技术,如:OpenGL、DirectX,并且可能还要开发人员有深厚的数学功底。但是,我们在开发一些小游戏,或为应用程序的界面实现一些动画效果,就可能不用以上这些技术了,我们更多的是用Windows API提供或MFC封装后的GDI绘图函数来实现。为此我们可不可以用GDI来实现高速平滑的动画呢?答案是肯定的。本文教您如何用GDI函数来开发平滑无闪的动画,并以一个应用实例来介绍这些用法。 关键词:GDI,MFC,Bitmap,内存设备环境一、动画原理。大家都知道播放电影的原理:在规定时间(一般为1秒)播放24幅连续的画面,由于人的视觉. 阅读全文
posted @ 2010-01-29 15:16 Hibernate4 阅读(208) 评论(0) 推荐(0) 编辑

2010年1月27日

摘要: BOOL StretchBlt( int x, //指定目的矩形区域左上角的X坐标 int y, //指定目的矩形区域左上角的Y坐标 int nWidth, //指定目的矩形区域的宽度 int nHeight, //指定目的矩形区域的高度 CDC* pSrcDC, int xSrc, //指定源矩形区域左上角的X坐标 int ySrc, //指定源矩形区域左上角的Y坐标 int nSrcWidth, //指定源矩形区域的宽度 int nSrcHeight, //指定源矩形区域的高度 DWORD dwRop //此参数参考MSDN,SRCCOPY类型为直接拷贝); //此函数将一个位图资源从一. 阅读全文
posted @ 2010-01-27 17:30 Hibernate4 阅读(156) 评论(0) 推荐(0) 编辑

2010年1月25日

摘要: 在项目开发中,经常要求系统在同一时刻在同一台机器上只能运行一个实例,可以通过这种方式实现在InitInstance()函数中添加如下代码(可以函数最前边添加,也可以放后边点,不过最好放最前边): Sample CodeCode highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->HANDLEm_hMutex=::CreateMutex(NULL,TRUE,m_pszName);// m_pszName为互斥体 名 如"132"或者&qu 阅读全文
posted @ 2010-01-25 20:03 Hibernate4 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 一、GDI GDI是位于应用程序与不同硬件之间的中间层,这种结构让程序员从直接处理不同硬件的工作中解放出来,把硬件间的差异交给了GDI处理。GDI通过将应用程序与不同输出设备特性相隔离,使Windows应用程序能够毫无障碍地在Windows支持的任何图形输出设备上运行。例如,我们可以在不改变程序的前提下,让能在Epson点式打印机上工作的程序也能在激光打印机上工作。它把windows系统中的图形输出转换成硬件命令然后发送给硬件设备。GDI是以文件的形式存储在系统中,系统需要输出图形时把它载入内存,如果转换成硬件命令时遇到非GDI命令,系统还可能载入硬件驱动程序,驱动程序辅助GDI把图形命令转. 阅读全文
posted @ 2010-01-25 19:43 Hibernate4 阅读(145) 评论(0) 推荐(0) 编辑
上一页 1 ··· 45 46 47 48 49 50 51 52 53 ··· 60 下一页

导航