常用模式比较

July 28th, 2014 by JasonLe's Tech 1,188 views

创建类模式主要描述的是如何创建模式,行为类模式主要是关注管理对象的行为,比如委托什么的。

而结构类模式着重是建立一个软件结构,便于拓展。

行为类模式包括责任链模式,命令模式,解释器模式,迭代器模式,中介者模式,备忘录模式,观察者模式,状态模式,策略模式,模板方法模式,访问者模式。

结构类模式包括适配器模式,桥梁模式,组合模式,装饰模式,门面模式,享元模式和代理模式。
» Read more: 常用模式比较

行为类模式比较

July 25th, 2014 by JasonLe's Tech 1,231 views

行为类模式包括责任链模式,命令模式,解释器模式,迭代器模式,中介者模式,备忘录模式,观察者模式,状态模式,策略模式,模板方法模式,访问者模式。这些模式都是经常要使用的。 » Read more: 行为类模式比较

结构类模式比较

July 23rd, 2014 by JasonLe's Tech 1,163 views

结构类模式包括适配器模式,桥梁模式,组合模式,装饰模式,门面模式,享元模式和代理模式。

首先我们来比较一下代理模式和装饰模式。

代理模式和装饰模式其实很类似,装饰模式就是一种特殊的代理模式,两者都有相同的接口,不同点在于代理模式对于代理过程的控制,而装饰模式则是对类的功能加强和减弱。
» Read more: 结构类模式比较

状态模式 C++实现

July 15th, 2014 by JasonLe's Tech 1,208 views

状态模式是一种封装模式,也就是说当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。

它有两种使用情况:(1)一个对象的行为取决于它的状态, 并且它必须在运行时刻根据状态改变它的行为。(2)一个操作中含有庞大的多分支的条件语句,且这些分支依赖于该对象的状态。如果if-else过于庞大,那么状态模式将是很好的选择。

之前我的文章都见过这种方式,将具体的实现class都委托给一个封装类来执行,这种方式非常普遍!比如在访问者模式中,通过
» Read more: 状态模式 C++实现

创建类模式比较

July 14th, 2014 by JasonLe's Tech 1,065 views

创建类模式包括工厂方法模式,建造者模式,抽象工厂模式,单例模式,原型模式,这些都是创建类的design pattern,可以创建class的创建。

单例模式和原型模式比较简单,单例模式主要是在内存中保持一个对象,原型模式是指通过复制的方式产生新的对象。

比较容易混淆的是工厂模式,抽象工厂模式和建造者模式。 » Read more: 创建类模式比较