简单工厂模式应该是所有设计模式中最简单,也最基础的一种模式,以下是一个简单的采用工厂模式写一个加减法的计算器。
1、抽象接口类——依赖倒转原则(高层和底层都要依赖于抽象,针对接口编程)
class IOperation
{
public:
IOperation() : m_nNuml(0), m_nNumr(0) {}
virtual ~IOperation() {}
vir...
分类:
编程语言 时间:
2015-05-23 11:34:34
阅读次数:
154
实现:1.Singleton: public class Singleton { private static Singleton instance; //构造方法为private,外部代码不能直接实例化 private Singleto...
分类:
其他好文 时间:
2015-05-22 00:20:47
阅读次数:
106
读程杰的《大话设计模式》有一段时间了,将其C#版的设计模式代码用C++全部重新实现了一遍,并记下个人的一些心得,同时也对一些设计模式进行了改造。网上有份《大话设计模式实现(C++版)》的资料,但稍看后错误不少,比如用作接口的基类不将析构函数申明为虚函数,仅内部使用的成员变量不申明为private(公然违背迪米特法则),new出的对象不进行释放等等一些错误或不良编码习惯,易误导新学C++的同学。故我将我个人实现的C++献丑放出,欢迎大家批评指正,共同进步。...
分类:
编程语言 时间:
2015-05-19 10:45:11
阅读次数:
169
乘车买票示例:1.Iterator: public abstract class Iterator { public abstract object First(); public abstract object Next(); publ...
分类:
其他好文 时间:
2015-05-17 21:46:49
阅读次数:
155
公司管理系统示例: 1.Component: public abstract class Company { protected string name; public Company(string name) { ...
分类:
其他好文 时间:
2015-05-17 21:41:02
阅读次数:
114
篮球翻译示例: 1.Target: public abstract class Player { protected string name; public Player(string name) { this.n...
分类:
其他好文 时间:
2015-05-17 18:40:33
阅读次数:
114
游戏进度备忘示例: 1.Originator: public class GameRole { public int Vitality { get; set; } public int Attack { get; set; } publ...
分类:
其他好文 时间:
2015-05-17 18:30:26
阅读次数:
130
切换数据库类型示例: 1.User类: public class User { public int Id { get; set; } public string Name { get; set; } }2.AbstractProduct(以Use...
分类:
其他好文 时间:
2015-05-17 00:44:22
阅读次数:
262
工作状态示例: 1.State: public abstract class State { public abstract void WriteProgram(Work work); }2.ConcreteState(以ForenoonState、NoonSt...
分类:
其他好文 时间:
2015-05-17 00:41:14
阅读次数:
161
声明:本系列博客参考资料《大话设计模式》,作者程杰。
策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化,即封装变化的算法。
适用场景:
1、 多个类只区别在表现行为不同,可以使用Strategy模式,在运行时动态选择具体要执行的行为。
...
分类:
Web程序 时间:
2015-05-16 23:24:28
阅读次数:
348