上一页 1 ··· 12 13 14 15 16
  2012年3月18日
摘要: 适配器模式,让我想起了家里面的变电站。其实,这里的适配器也是这个作用,起到了一个居中调解的作用。当客户类和源类的接口不兼容而不能一起工作时,适配器技术可以引入来解决这个问题。前提:源类具有所有问题解决方案。适配器只是起到一个转换的作用,而不是解决客户类实际问题的方案。意图: 将一个类的接口转换成客户希望的另外一个接口。Adapter 模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。适用性: 你想使用一个已经存在的类,而它的接口不符合你的需求。 你想创建一个可以复用的类,该类可以与其他不相关的类或不可预见的类(即那些接口可能不一定兼容的类)协同工作。 (仅适用于对象Adapter) 阅读全文
posted @ 2012-03-18 10:48 笔记吧... 可能只有自己看得懂 阅读(178) 评论(0) 推荐(0) 编辑
  2012年3月17日
摘要: 前面讲到工厂方法模式,其实工厂方法模式是抽象工厂模式的特例。工厂方法模式中每个工厂只生产一种产品,而在抽象工厂模式中每个工厂可以生产多种具体产品。适用性:(适用性论述是复制过来的,本人不理解!初学)一个系统要独立于它的产品的创建、组合和表示时。一个系统要由多个产品系列中的一个来配置时。当你要强调一系列相关的产品对象的设计以便进行联合使用时。当你提供一个产品类库,而只想显示它们的接口而不是实现时。已电视机实例,附上代码:#include <iostream>using namespace std;// 抽象工厂模式/* * */class TV // 电视机抽象类{public: T 阅读全文
posted @ 2012-03-17 14:15 笔记吧... 可能只有自己看得懂 阅读(264) 评论(0) 推荐(0) 编辑
摘要: 工厂方法模式(factory method)在工厂方法模式提出之前,有一个简单工厂模式。简单的介绍下简单工程模式,只提供一个工厂类,该工厂类处于对产品类进行实例化的中心位置,他处理每一个产品对象的创建细节。下面列举工厂创建不同品牌的电视机:/** 存在一个TV抽象类,同时也存在多个不同品牌的电视机类,然后在TVFactory类中* 根据需求实例化不同的电视机类*/#include <iostream>#include <string>using namespace std;class TV{public: TV() {} virtual ~TV() {} virtual 阅读全文
posted @ 2012-03-17 13:26 笔记吧... 可能只有自己看得懂 阅读(287) 评论(0) 推荐(0) 编辑
摘要: 单例模式,实现一个全局唯一的类对象,并提供一个全局访问点。#include <iostream>using namespace std;class CSingleton // 单例模式{private: CSingleton() { b++;} static int b; // 用于证明全局只存在一个CSginleton的对象public: virtual ~CSingleton() {} static CSingleton Instance() { static CSingleton a; ... 阅读全文
posted @ 2012-03-17 12:06 笔记吧... 可能只有自己看得懂 阅读(140) 评论(0) 推荐(0) 编辑
  2012年3月11日
摘要: memcpy与memmove的区别 memcpy是不作预处理的内存复制,直接由低位到高位复制。 memmove是做处理的内存复制: 当src 高于 test时,从低位到高位复制;当src低于test时,从高位到地位复制;当src等于test时,不做任何处理。当两个内存没有重叠的部分时,两个函数的作用没有区别,但是当有内存重叠的时候,memmove更为安全。如,有字符串为“abcdefgh”,src指向a,test指向c。如果按照由低到高(由左到右)的复制时,a复制给c,b复制给d,但是当取src中的第三位时,本意是想取c,但是由于之前a复制给c了,所以这里只能取到a。整体地说,没有语法错误,但 阅读全文
posted @ 2012-03-11 14:38 笔记吧... 可能只有自己看得懂 阅读(777) 评论(0) 推荐(0) 编辑
上一页 1 ··· 12 13 14 15 16