摘要: 策略模式(Strategy Pattern):定义一系列算法,将每一个算法封装起来,并让它们可以相互替换。策略模式让算法独立于使用它的客户而变化,也称为政策模式(Policy)。 主要解决:在有多种算法相似的情况下,使用 if...else 所带来的复杂和难以维护。 何时使用:一个系统有许多许多类, 阅读全文
posted @ 2018-03-05 14:51 花园小花匠 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 状态模式(State Pattern) :允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它的类。其别名为状态对象(Objects for States),状态模式是一种对象行为型模式。 主要解决:对象的行为依赖于它的状态(属性),并且可以根据它的状态改变而改变它的相关行为。 何时使 阅读全文
posted @ 2018-03-05 14:15 花园小花匠 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 观察者模式(Observer Pattern):定义对象间的一种一对多依赖关系,使得每当一个对象状态发生改变时,其相关依赖对象皆得到通知并被自动更新。观察者模式又叫做发布-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-监听器(Source/Listene 阅读全文
posted @ 2018-03-05 13:49 花园小花匠 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 中介者模式(Mediator Pattern)定义:用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。中介者模式又称为调停者模式,它是一种对象行为型模式。 主要解决:对象与对象之间存在大量的关联关系,这样势必会导致系统的结构 阅读全文
posted @ 2018-03-05 11:21 花园小花匠 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 命令模式(Command Pattern):将一个请求封装为一个对象,从而使我们可用不同的请求对客户进行参数化;对请求排队或者记录请求日志,以及支持可撤销的操作。命令模式是一种对象行为型模式,其别名为动作(Action)模式或事务(Transaction)模式。 主要解决:在软件系统中,行为请求者与 阅读全文
posted @ 2018-03-05 10:25 花园小花匠 阅读(259) 评论(0) 推荐(0) 编辑