Posts Tagged ‘设计模式’

原型模式 迭代器模式 C++实现

May 18th, 2014

原型模式其实非常简单,难易程度其实就是单例模式与迭代器模式差不多。
在Java中我们可以有很多的接口使用,在这里,我们也许会用到Cloneable接口,然后在复制的类里面实现clone方法。调用这个clone()就等于完成了类的复制,而不是通过new来创建。Clone()方法是在内存中进行拷贝,所以不会调用构造函数!

final与clone不共融,final使用后,就意味着无法进行重写,而调用clone()必须重写!
» Read more: 原型模式 迭代器模式 C++实现

代理模式 C++实现

May 18th, 2014

代理模式是一种常用的设计模式,他可以使得真实的角色就是实现业务的逻辑,不用关心非其本职责的实务,而是依靠后期代理实现。
这种方式可以实现解耦,让我们类的职责更加明确。
代理模式有很多种,有普通代理,强制代理,还有动态代理。

普通代理模式与强制代理模式的区别在于真正实现业务的逻辑由谁创建?强制代理模式表示必须由业务者创建,普通代理则认为可以由代理者创建!
» Read more: 代理模式 C++实现

模板方法模式 建造者模式 C++实现

May 13th, 2014

今天我继续来填坑,模板方法模式就是在模板方法中按照一定的规则顺序调用基本方法。这个比较简单。

比如我在父类run()中调用类中一系列的方法。钩子是一种方法,它在抽象类中不做事,或者只做默认的事情,子类可以选择要不要去覆盖它。
» Read more: 模板方法模式 建造者模式 C++实现

三种工厂模式的C++实现

May 3rd, 2014

最近想换换口味,于是抱起久违的design pattern漫画书品读起来。
工厂模式属于创建型模式,大致可以分为三类,简单工厂模式、工厂方法模式、抽象工厂模式。
» Read more: 三种工厂模式的C++实现