摘要: 状态模式 允许对象在内部状态改变时改变它的行为,对象看起来好像修改了它的类。 状态模式所涉及到的角色有: 环境(Context)角色,也成上下文:定义客户端所感兴趣的接口,并且保留一个具体状态类的实例。这个具体状态类的实例给出此环境对象的现有状态。 抽象状态(State)角色:定义一个接口,用以封装 阅读全文
posted @ 2016-05-15 11:38 潇潇Leslie 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 观察者模式 定义了对象之间的一对多依赖,这样一来,当一个对象状态改变时,它的所有依赖者都会收到通知并自动更新。 观察者模式中,分为推和拉两种模式。 推模式,即主题对象向观察者对象推送状态值,不管观察者对象是否需要,并且推送全部数据或者部分数据。 拉模式,即主题对象通知观察者对象状态值已改变,观察者根 阅读全文
posted @ 2016-05-15 11:25 潇潇Leslie 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 模板方法模式 模板方法模式 在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。 模板即是一个方法。此方法将算法定义成一组步骤,其中的任何步骤都可以是抽象的,由子类负责实现。这可以保证算法结构保持不变,同时由子类提供部分实 阅读全文
posted @ 2016-05-15 11:18 潇潇Leslie 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 策略模式 定义了算法族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。 说明: 1、可以动态地改变对象的行为; 2、各个策略算法的平等性,各个策略算法在实现上是相互独立的,相互之间没有任何依赖的(由此,策略模式也可以描述为“策略算法是相同行为的不同实现”); 3、在运 阅读全文
posted @ 2016-05-15 11:13 潇潇Leslie 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 装饰者模式 动态的将责任附加到对象上。若要扩展功能,装饰者模式提供了比继承更有弹性的替代方案。 说明: 1、装饰者和被装饰者对象有相同的超类型; 2、可以用一个或者多个装饰者包装一个对象; 3、既然装饰者和被装饰者对象有相同的超类型,所以在任何需要原始对象(被装饰者)的场合,可以用装饰过的对象代替它 阅读全文
posted @ 2016-05-15 10:52 潇潇Leslie 阅读(188) 评论(0) 推荐(0) 编辑