- 博客(8)
- 资源 (7)
- 收藏
- 关注
原创 抽象工厂模式(c++描述)
在抽象工厂模式中,我引用从网上看来的一篇例子来说明。 随着时间的推移,走过的地方越来越多,你天南海北的朋友也越来越多。你发现菜原来还分了许多菜系,鲁菜、粤菜、湘菜等等, 你招待 不同的朋友要用不同的菜系,这下难办了,你的厨师都是鲁菜风味,怎么办,广东的朋友来了吃不惯。现在我们再回到简单工厂模式,我们把 红烧肉再向下继承,生成鲁菜红烧肉、粤菜红烧肉、湘菜红烧肉;清蒸
2009-09-17 11:41:00 7553 3
原创 工厂模式(c++描述)
接着前面所述简单工厂模式,简单工厂模式符合面向对象4大原则:可维护,可复用,可扩展,灵活性高,耦合度低,但是他仍然有一个很 大的问题就是如果要增加新的产品,必须对工厂进行修改,这就违背了软件设计的开闭原则 。 对于这种问题,我们可以使用工厂模式来解决。 假设我们想要增加一个新的运算乘方运算类,我们可以按如下思想来设计: 设计基于运算基
2009-09-17 11:08:00 1893
原创 简单工程模式(c++描述)
最近才开始看设计模式,想想这玩意本来应该在大学的时候就应该了解的东西,到现在了竟然只了解到皮毛,惭愧啊~~~ 话说这是从一个计算器的案例来引发的思考,现在我想做一个计算器,包含加减乘除运算; 考虑下,设计这个类,一般的设想是直接设计一个运算类,里面包含加减乘除运算的接口,然后就可以完工了。 可是,真的是这样吗?如果我们想再增加一个乘
2009-09-17 09:22:00 1633
转载 #pragma 预处理指令详解
在所有的预处理指令中,#pragma 指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。#pragma指令对每个编译器给出了一个方法,在保持与C和C++语言完全兼容的情况下,给出主机或操作系统专有的特征。依据定义,编译指示是机器或操作系统专有的,且对于每个编译器都是不同的。 其格式一般为: #pragma para 其中para为参数,下面来
2009-09-16 17:22:00 533
转载 软件设计模式
设计模式(英语:design pattern)这个术语是在1990年代,由Erich Gamma等人,从建筑设计领域引入到计算机科学里去的。是对软件设计中普遍存在(反复出现)的各种问题,所提出的解决方案。设计模式并不直接用来完成程式码的编写,而是描述在各种不同情况下,要怎么解决问题的一种方案。面向对象设计模式通常以类别或物件来描述其中的关系和相互作用,但不涉及用来完成应用程式的特定类别或物件。算法
2009-09-10 15:42:00 836
转载 Pair Programming (结对编程)
我们Pair 做任何一件事情。 ——ThoughtWorks 西安Office 我的第一次Pair(Pair Programming的简称,即结对编程。后面都是用Pair代替)是在ThoughtWorks公司面试进行的。那次,他们来自英国的项目经理Andy面试我,和我一起进行Pair。A
2009-09-10 09:26:00 729
转载 敏捷开发简介
前几天和同事们去西交大做校园宣讲,当然我是去帮忙加旁听的。:-) HR和同事们介绍了很多关于公司的情况,包括文化,价值观,敏捷开发等等,很多东西我都是第一次学习到,后来我对马同学说,你那富有激情的关于公司的敏捷介绍让我收获很大,他说我这句话给他很大的鼓舞,呵呵。 下面我将马同学的讲解简单介绍一下,首先看下面这个图: 这两个圆圈表示不同的视角上的敏捷实践,包括开发者视角和项
2009-09-10 09:12:00 673
原创 与内存有关的那些事儿
这日,我写下如下代码:#include int main(void){ char *p = new char[5]; char *t = new char[5]; strcpy(t, "Hello"); strcpy(p, t); std::cout delete [] p;
2009-09-03 15:45:00 2223
MySQL绿色免安装脚本
2010-10-22
Microsoft Visual C++ 6.0 运行库参考手册
2010-07-13
C/C++大师们的经典问题分析
2010-07-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人