摘要: 备忘录模式的核心: 就是保存某个对象内部状态的拷贝,这样以后就可以将该对象恢复到原先的状态。 备忘录模式的结构: 源发器类Originator:负责创建一个备忘录Memento,用以记录当前时刻它的内部状态,并可以使用备忘录恢复内部状态; 备忘录类Memento:负责存储Originator对象的内 阅读全文
posted @ 2018-01-11 17:11 jianhuazhao 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 观察者模式主要用于 1:N的通知。当一个对象(目标对象Subject或Objservable)的状态变化时,他需要及时告知一系列对象(观察者对象Observer),令它们做出响应。 通知观察者的方式: 推:每次都会把通知以广播的形式发送给所有观察者,所有观察者只能被动的接收。 拉:观察者只要知道有情 阅读全文
posted @ 2018-01-11 16:43 jianhuazhao 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 状态模式的核心:用于解决系统中复杂对象的状态转换以及不同状态下行为的封装问题。 应用场景:当需要频繁的修改状态时,考虑使用状态模式。 状态模式的结构: 1.Context环境类:环境类中维护一个State对象,它是定义了当前的状态; 2.State抽象状态类; 3.ConcreteState具体状态 阅读全文
posted @ 2018-01-11 15:56 jianhuazhao 阅读(273) 评论(0) 推荐(0) 编辑
摘要: 模板方法模式是编程中常用的模式。它定义了一个操作中的算法骨架,将某些步骤延迟到子类中实现。这样,新的子类可以在不改变一个算法结构的前提下重新定义该算法的某些特定步骤。 模板方法模式的核心: 处理某个流程的代码已经都具备,但是其中某个节点的代码暂时不能确定。因此,我们采用工厂方法模式,将这个节点的代码 阅读全文
posted @ 2018-01-11 14:43 jianhuazhao 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 策略模式对应于解决某一问题的一个算法族,允许用户从该算法族中任选一个算法解决某一问题,同时可以方便的更换算法或者增加新的算法,并且由客户端选择调用哪个算法。 本质:分离算法,选择实现。 下面是代码实现: 首先,创建Strategy接口: 针对接口创建不同的实现类: 创建Context上下文类,用来管 阅读全文
posted @ 2018-01-11 14:34 jianhuazhao 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 命令模式: 将一个请求封装为一个对象,从而使我们可用不同的请求对客户进行参数化;对请求排队或者记录请求日志,以及支持可撤销的操作。也称之为:动作Action模式,事务Transaction模式。 命令模式的结构: Command 抽象命令类 ConcreteCommand 具体命令类 Invoker 阅读全文
posted @ 2018-01-11 14:23 jianhuazhao 阅读(228) 评论(0) 推荐(0) 编辑