2012-07-17 06:05
⁄ 工业·编程
⁄ 共 2109字
定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。
类型:创建类模式
类图:
四个要素
产品类:一般是一个较为复杂的对象,也就是说创建对象的过程比较复杂,一般会有比较多的代码量。在本类图中,产品类是一个具体的类,而非抽象类。实际编程中,产品类可以是由一个抽象类与它的不同实现组成,也可以是由多个抽象类与他们的实现组成。
抽象建造者:引入抽象建造者的目的,是为了将建造的...
设计模式, 软件开发阅读全文
2012-07-17 06:03
⁄ 工业·编程
⁄ 共 2157字
定义:为创建一组相关或相互依赖的对象提供一个接口,而且无需指定他们的具体类。
类型:创建类模式
类图:
抽象工厂模式与工厂方法模式的区别
抽象工厂模式是工厂方法模式的升级版本,他用来创建一组相关或者相互依赖的对象。他与工厂方法模式的区别就在于,工厂方法模式针对的是一个产品等级结构;而抽象工厂模式则是针对的多个产品等级结构。在编程中,通常一个产品结构,表现为一个接口或者抽象类,也就是说,工厂方法模...
设计模式, 软件开发阅读全文
2012-07-17 06:02
⁄ 工业·编程
⁄ 共 2927字
定义:定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂方法使一个类的实例化延迟到其子类。
类型:创建类模式
类图:
工厂方法模式代码
interface IProduct { public void productMethod(); }
class Product implements IProduct { public void productMethod() { System.out.println("产品"); ...
设计模式, 软件开发阅读全文
2012-07-17 05:58
⁄ 工业·编程
⁄ 共 2455字
定义:确保一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。
类型:创建类模式
类图:
类图知识点:
1.类图分为三部分,依次是类名、属性、方法
2.以<<开头和以>>结尾的为注释信息
3.修饰符+代表public,-代表private,#代表protected,什么都没有代表包可见。
4.带下划线的属性或方法代表是静态的。
5.对类图中对象的关系不熟悉的朋友可以参考文章:设计模式中类的关系。
单例模式应该是23种设计...
设计模式, 软件开发阅读全文
2012-07-16 23:27
⁄ 工业·编程
⁄ 共 3532字
纯虚函数主要是你不知道这个函数如何定义,即你无法为其写出定义部分,这部分只有在子类中才能够正确表达,比如,我们要定义一个动物类,那它的呼吸方法怎么定义呢,是像鱼那样,还是像人那样,这个没法确定,只能在子类中去定义.
而虚函数则是肯定知道这个函数的定义,并且大部分子类对这方法的定义应该是差不多的,比如我们要定义一个树类,树都可以进行光合作用,大部分树其进行光合作用的方法都差...
c++阅读全文
2012-07-16 23:19
⁄ 工业·编程
⁄ 共 4439字
虚函数联系到多态,多态联系到继承。所以本文中都是在继承层次上做文章。没了继承,什么都没得谈。 下面是对C++的虚函数这玩意儿的理解。 一, 什么是虚函数 简单地说,那些被virtual关键字修饰的成员函数,就是虚函数。虚函数的作用,用专业术语来解释就是实现多态性(Polymorphism),多态性是将接口与实现进行分离;用形象的语言来解释就是实现以共同的方法,但因个体差异而...
c++阅读全文
2012-07-16 22:38
⁄ 工业·编程
⁄ 共 420字
我们在进行需求分析时,总是在划分功能模块,子模块、等等,为何要进行划分,如何来实现?
就我理解来说,模块的划分是对所做功能的抽象,好的模块划分可以指导函数的设计,因为对于一个模块来说,具有输入和输出,功能,内部数据。那这个模块就可以作为一个供控制过程调用的函数
而对于类的设计,我们是在模块分析的基础上,将模块公共的方法、函数进行抽象,这个可...
软件开发阅读全文
2012-07-16 22:29
⁄ 工业·编程
⁄ 共 1372字
DDB(设备相关位图)
DDB依赖于具体设备 DDB的颜色模式必需与输出设备相一致。例如,如果当前的显示设备是256色模式,那么DDB必然也是256色的。 在256色以下的位图中存储的像素值是系统调色板的索引,其颜色依赖于系统调色板。 由于DDB高度依赖输出设备,所以DDB只能存在于内存中,它要么在视频内存中,要么在系统内存中
DIB的与设备无关性主要体现在以下两个方面: DIB的颜色...
MFC阅读全文
2012-07-16 22:27
⁄ 工业·编程
⁄ 共 8175字
优化是一个非常大的主题,本文并不是去深入探讨性能分析理论,算法的效率,况且我也没有这个能力。我只是想把一些可以简单的应用到你的C++代码中的优化技术总结在这里,这样,当你遇到几种不同的编程策略的时候,就可以对每种策略的性能进行一个大概的估计。这也是本文的目的之所在。 一. 优化之前 在进行优化之前,我们首先应该做的是发现我们代码的瓶颈(bottleneck)在哪里。然而当你做这件事...
c++阅读全文
2012-07-16 22:00
⁄ 工业·编程
⁄ 共 2404字
DDX:Dialog Data Exchange
如果使用DDX机制,一般会在OnInitDialog消息处理函数或Dialog构造函数中,为对话框对象的成员变量设置了初始值。在对话框显示前,框架的DDX机制将成员变量的值传给对话框中的控件,当调用DoModal或Create函数,对话框即将显示时,这些值也就显示在相应的控件上。
CDialog类的成员函数OnInitDialog的默认实现中,调用CWnd类的UpdateData成员函数来初始化对话框...
MFC, VC阅读全文