摘要:
一、备忘录模式介绍 备忘录模式:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。 例如: 1.office重新打开时的恢复功能。 2.事务的回滚操作 备忘录模式UML图: Originator(发起人):负责创建一个备忘录Meme 阅读全文
posted @ 2017-02-15 23:54
chenxiangxiang
阅读(242)
评论(0)
推荐(0)
摘要:
一、观察者模式介绍 观察者模式(发布-订阅模式):定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象,这个主题对象在状态发生变化时,会通知所有观察者对象。使它们能够自动更新自己。 例如: 1、游戏中的例子:游戏中,当进入新人的时候,大喇叭会通知所有的玩家。所有的游戏玩家是订阅者,而大 阅读全文
posted @ 2017-02-15 23:53
chenxiangxiang
阅读(1890)
评论(0)
推荐(0)
摘要:
一、工厂模式介绍: 工厂模式实现了创建者和调用者的分离 工厂模式分类: 1.简单工厂模式 2.工厂方法模式:定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂方法使一个类的实例化延迟到其子类 3.抽象工厂模式:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。 面向对象设 阅读全文
posted @ 2017-02-15 23:52
chenxiangxiang
阅读(3674)
评论(0)
推荐(0)
摘要:
一、状态模式介绍 状态模式:当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类 状态模式主要解决的是当控制一个对象状态转换的条件表达式过于复杂时的情况。 把状态的判断逻辑转移到表示不同状态的一系列类当中,可以把复杂的判断逻辑简化。 当遇到不同的状态遇到不同的行为的时候,可以使用 阅读全文
posted @ 2017-02-15 23:51
chenxiangxiang
阅读(641)
评论(0)
推荐(0)
摘要:
一、模板方法模式介绍 模板方法模式:定义一个操作中的算法骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的 某些特定步骤。 核心:处理某个流程的代码已经都具备,但是其中某个节点的代码暂时不能确定。因此,我们采用工厂方法模式,将这个节点的代码实现转移给 子类完成 阅读全文
posted @ 2017-02-15 23:50
chenxiangxiang
阅读(397)
评论(0)
推荐(0)
摘要:
一、策略模式介绍 策略模式:它定义了算法家族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化不会影响到使用算法的客户。 例如: 商场中的收银软件,内部是怎么针对不同的商品打不同的折扣呢?又或者,是怎么根据不同会员等级打不同的折扣呢? 其实内部就是定义了一个算法家族,给每个会员或者商品都指定 阅读全文
posted @ 2017-02-15 23:48
chenxiangxiang
阅读(418)
评论(0)
推荐(0)
摘要:
一、访问者模式介绍 访问者模式(Visitor):表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。 也就是说:针对不同对象做一些不同的操作,则可以使用访问者模式。 一般也很少用到!! 二、应用场景 XML文档解析器设计 编译器设计 复杂集 阅读全文
posted @ 2017-02-15 23:20
chenxiangxiang
阅读(213)
评论(0)
推荐(0)
摘要:
一、解释器模式介绍 解释器模式:给定一个语言,定义它的文法一种表示。并定义一个解释器,这个解释器使用该表示来解释语言中的句子。 也就是说,如果你想自己开发一种语言来解释执行某些语言的特定语法,可以考虑使用解释器模式。 该模式对于我们开发人员来说,基本上都用不到。除非你想自己开发一种语言。 解释器模式 阅读全文
posted @ 2017-02-15 23:19
chenxiangxiang
阅读(315)
评论(0)
推荐(0)
摘要:
一、中介者模式介绍 中介者模式:用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显示地相互引用。从而使其耦合松散,而且可以独立地改变它们之间的交互。 中介者模式核心:1.就是将网状结构处理成星型结构 2.将多对多处理成一对多 例如:世界上各个国家的和平和安全,沟通和交流等等问题,如果各个国 阅读全文
posted @ 2017-02-15 23:18
chenxiangxiang
阅读(382)
评论(0)
推荐(0)
摘要:
一、命令模式介绍 命令模式:将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化,对请求排队或记录请求日志。以及支持可撤销的操作。 说白了,就是将一系列的请求命令封装起来,不直接调用真正执行者的方法,这样比较好扩展。 命令模式UML图: Command(抽象命令类):抽象出命令对象,可以 阅读全文
posted @ 2017-02-15 23:18
chenxiangxiang
阅读(366)
评论(0)
推荐(0)

浙公网安备 33010602011771号