上一页 1 ··· 7 8 9 10 11 12 13 14 15 16 下一页

2014年5月14日

【设计模式】装饰模式

摘要: 装饰模式(Decorater)动态的给一个对象添加一些额外的职责。 就增加功能来说,装饰模式比生成子类更加灵活。装饰模式中有几个关键的地方:①装饰模式依赖于【装饰者】类中有一个父类对象(指针), 而装饰函数(或方法)用来此父类对象(指针)设置实际的动态类型。②因为是要给某个对象增加职责,所以很明显的... 阅读全文

posted @ 2014-05-14 00:41 崔好好 阅读(218) 评论(0) 推荐(0)

2014年5月13日

【设计模式】单一职责 开-闭 依赖倒转 里氏替换原则

摘要: 几个设计模式的原则,简单了解了一下单一职责类的功能应该单一,就一个类而言,应该仅有一个引起它变化的原因,否则就要拆分。【大话设计模式】里大鸟和小菜用的DV的摄像功能和手机的摄像功能的比较,DV的功能单一,手机的功能多而复杂,小菜在看到UFO的时候赶紧拿出手机来录像,结果发现录的很不清楚,如果是DV的... 阅读全文

posted @ 2014-05-13 23:49 崔好好 阅读(541) 评论(0) 推荐(0)

2014年5月12日

【设计模式】策略模式(经过改进的)

摘要: 和前文讲到的经过改进的简单工厂模式类似,这里把策略模式和简单工厂模式结合起来。改进的关键是改写【TodoContext】上下文类,要在该类中产生对象(【干活】类的动态类型),对外提供的干活函数不变。如下:最大的不同就是CTodoContext类的构造函数参数不同了,构造函数成为类似简单工厂模式类的参... 阅读全文

posted @ 2014-05-12 21:32 崔好好 阅读(445) 评论(0) 推荐(0)

【设计模式】简单工厂模式(改进后的)

摘要: 在前一篇【简单工厂模式】中,使用计算器为例做了记录,在前文中提到了我写的简单工厂模式和书上讲得有点不同:简单工厂模式只是用来创建对象,而关于此对象的操作是另外一回事,程序员需要手动根据工厂类创建的类对象(一般是父类对象指针,静态类型为父类,动态类型为子类,多态的基础)。 而我在工厂内部加了一个Get... 阅读全文

posted @ 2014-05-12 21:11 崔好好 阅读(372) 评论(0) 推荐(0)

【设计模式】策略模式

摘要: 策略模式关于策略模式,我的理解:有若干个策略(算法),有一个管理策略的类,该类的输入为策略,输入为不同的策略(算法),输出为该种策略(算法)对应的类对象(的动态类型),然后程序员手动去使用该类对象(的动态类型)去调用相应虚函数,根据多态机制实现执行不同的操作。/*******************... 阅读全文

posted @ 2014-05-12 20:12 崔好好 阅读(221) 评论(0) 推荐(0)

2014年5月9日

【设计模式】简单工厂模式

摘要: 以计算器类为例,有加和减操作,提供给用户的接口只是操作符(加 或 减),两个操作数。首先有一个计算器抽象基类,两个子类,分别为加类 和 减类,用户通过调用类工厂来计算结果,在类厂内部通过用户输入的操作符来实例化不同的操作类,并用多态性质,将子类的指针(或引用)赋值给抽象基类的指针(或引用),然后通过... 阅读全文

posted @ 2014-05-09 22:18 崔好好 阅读(294) 评论(0) 推荐(0)

2014年5月6日

【算法与数据结构】二叉树的 后序 遍历

摘要: 非递归后序遍历二叉树相对于先序和中序稍微麻烦一点,网上看到好几种解法,有一种解法很好,见(http://www.cnblogs.com/dolphin0520/archive/2011/08/25/2153720.html)二叉树我自己也想到一种解法,不过有个不太好的地方就是每个节点需要借助两个额外... 阅读全文

posted @ 2014-05-06 21:06 崔好好 阅读(444) 评论(0) 推荐(0)

2014年5月5日

【算法与数据结构】二叉树的 中序 遍历

摘要: 前一篇写了二叉树的先序遍历,本篇记录一下二叉树的中序遍历,主要是非递归形式的中序遍历。由于距离上篇有好几天了,所以这里把二叉树的创建和存储结构也重复的写了一遍。二叉树如下二叉树的存储方式依然是二叉链表方式,其结构如下typedef struct _tagBinTree{ unsigned ch... 阅读全文

posted @ 2014-05-05 21:08 崔好好 阅读(1489) 评论(0) 推荐(0)

2014年4月25日

【算法与数据结构】二叉树的 先序 遍历

摘要: 1、二叉树的构造 二叉树的构造采用递归方式//二叉链表方式存储的二叉树结构typedef struct _tagBinaryTreeNode{ unsigned char value; struct _tagBinaryTreeNode* lchind; struct _... 阅读全文

posted @ 2014-04-25 01:20 崔好好 阅读(4136) 评论(0) 推荐(0)

2014年4月22日

【算法与数据结构】字符串匹配之KMP算法

摘要: 1 // KMP.cpp : 定义控制台应用程序的入口点。 2 // 3 4 #include "stdafx.h" 5 #include 6 #include 7 using namespace std; 8 9 /************************************... 阅读全文

posted @ 2014-04-22 14:07 崔好好 阅读(204) 评论(0) 推荐(0)

上一页 1 ··· 7 8 9 10 11 12 13 14 15 16 下一页

导航