中介者模式 C++实现

May 20th, 2014 by JasonLe's Tech 1,116 views

中介者模式主要是为了解决类之间依赖关系的,有些类之间存在复杂的关系,这导致代码不具有可维护性。
中介者模式把这其中各类交换的函数统一放在mediator里面,每种colleague只需要和mediator交互就可以了。

中介者模式中,每个Colleague 维护一个 Mediator,当要进行通信时,每个具体的 Colleague 直接向 ConcreteMediator 发信息,至于信息发到哪里,则由 ConcreteMediator 来决定。
» Read more: 中介者模式 C++实现

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

May 18th, 2014 by JasonLe's Tech 1,157 views

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

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

代理模式 C++实现

May 18th, 2014 by JasonLe's Tech 1,004 views

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

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

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

May 13th, 2014 by JasonLe's Tech 1,020 views

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

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

Uinx Thread API备注

May 7th, 2014 by JasonLe's Tech 1,086 views

这是最近读unix pthread and process使用的注意事项。 » Read more: Uinx Thread API备注