摘要: class A、B、C都实现dispatch接口,实现set_next接口;都派生自同一个基类。 A a B b C c a.set_next(b) b.set_next(c) a.dispatch() 这样形成逐级审批调用,在dispatch里实现接力。 当然另一种实现方式是在外部维护一个list 阅读全文
posted @ 2019-04-02 16:57 寄月楼主 阅读(166) 评论(0) 推荐(0)
摘要: 组合模式:是一种树形结构 桥接模式:N个操作系统,M个不同品牌电脑 电脑虚基类:实现install_os(os*) 操作系统虚基类:实现install() linux = new LinuxOS() windows = new WindosOS() pc = new ApplePC() pc->in 阅读全文
posted @ 2019-04-02 16:31 寄月楼主 阅读(937) 评论(0) 推荐(0)
摘要: 1.Originator(发起人):负责创建一个备忘录Memento,用以记录当前时刻自身的内部状态,并可使用备忘录恢复内部状态。Originator可以根据需要决定Memento存储自己的哪些内部状态。 2.Memento(备忘录):负责存储Originator对象的内部状态,并可以防止Origi 阅读全文
posted @ 2019-04-02 15:59 寄月楼主 阅读(242) 评论(0) 推荐(0)
摘要: 代理模式:在直接访问对象时带来的问题,比如说:要访问的对象在远程的机器上。在面向对象系统中,有些对象由于某些原因(比如对象创建开销很大,或者某些操作需要安全控制,或者需要进程外的访问),直接访问会给使用者或者系统结构带来很多麻烦,我们可以在访问此对象时加上一个对此对象的访问层。 适配器模式:将一个类 阅读全文
posted @ 2019-04-02 15:39 寄月楼主 阅读(994) 评论(0) 推荐(0)
摘要: 摘抄:https://www.cnblogs.com/wxmwanggood/p/9288264.html 当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。 状态模式主要解决的是当控制一个对象状态转换的条件表达式过于复杂时的情况。把状态的判断逻辑转移到表示不同状态的一系列类当 阅读全文
posted @ 2019-04-02 15:34 寄月楼主 阅读(172) 评论(0) 推荐(0)
摘要: 观察者模式,说白了,就是有数据更新,需要通知到各个模块。 subject:提供注册机制,需要订阅数据的观察者要向subject注册;简单地说,就是将观察者的指针保存到subject的list中。当数据更新时,调用observer.notify Observer: 实现notify接口 阅读全文
posted @ 2019-04-02 15:12 寄月楼主 阅读(128) 评论(0) 推荐(0)
摘要: 建造者模式: 1、建造者接口(虚基类),定义建造过程 2、建造者A、建造者B 3、导演/建造指挥者,定义建造过程,并且可以定义不同的建造过程。 工厂模式:对调用者来讲,不关心对象创建过程,得到的是一个最终的对象。主要强调创建对象。 建造者模式:建造指挥者需要了解建造过程。而建造的不一定是对象,可能是 阅读全文
posted @ 2019-04-02 14:49 寄月楼主 阅读(397) 评论(0) 推荐(0)
摘要: 简单工厂模式:一个工厂,多个产品。产品需要有一个虚基类。通过传入参数,生成具体产品对象,并利用基类指针指向此对象。通过工厂获取此虚基类指针,通过运行时多态,调用子类实现。 工厂方法模式:多个工厂,多个产品,每个产品对应于一个工厂。此时工厂和产品都是通过虚基类的方式构建。对于简单工厂模式,当要增加一个 阅读全文
posted @ 2019-04-02 14:18 寄月楼主 阅读(172) 评论(0) 推荐(0)
摘要: 装饰模式:在不改变接口的前提下,动态扩展对象的功能 当想要对已有的对象进行功能增强时,可以定义类,将已有对象传入,基于已有的功能,并提供加强功能。那么自定义的该类称为装饰类。一般的,装饰者和背装饰者实现相同的接口,实现增加功能而不增加接口。 当想要对已有的对象进行功能增强时,可以定义类,将已有对象传 阅读全文
posted @ 2019-04-02 14:08 寄月楼主 阅读(140) 评论(0) 推荐(0)