摘要: 生成器模式 封装一个产品的构造过程,并允许按步骤构造。 将一个复杂对象的构建与表示分离,使同样的构造过程可以创建不同的表示。 生成器模式结构中的四种角色: 产品(Product): 所要构建的复杂对象。 抽象生成器(Builder): 抽象生成器是一个接口,该接口除了为创建一个Product对象的各 阅读全文
posted @ 2016-05-15 15:35 潇潇Leslie 阅读(258) 评论(0) 推荐(0) 编辑
摘要: 适配器模式 适配器模式 将一个类的接口转换成客户期望的另一个接口,适配器让原本接口不兼容的类可以合作无间。 通过创建适配器进行接口转换,让不兼容的接口变成兼容。这可以让客户从实现的接口解耦。如果在一段时间后,想要改变接口,适配器可以将改变的部分封装起来,客户就不必为了应对不同的接口 而每次跟着修改。 阅读全文
posted @ 2016-05-15 11:55 潇潇Leslie 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 状态模式 允许对象在内部状态改变时改变它的行为,对象看起来好像修改了它的类。 状态模式所涉及到的角色有: 环境(Context)角色,也成上下文:定义客户端所感兴趣的接口,并且保留一个具体状态类的实例。这个具体状态类的实例给出此环境对象的现有状态。 抽象状态(State)角色:定义一个接口,用以封装 阅读全文
posted @ 2016-05-15 11:38 潇潇Leslie 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 观察者模式 定义了对象之间的一对多依赖,这样一来,当一个对象状态改变时,它的所有依赖者都会收到通知并自动更新。 观察者模式中,分为推和拉两种模式。 推模式,即主题对象向观察者对象推送状态值,不管观察者对象是否需要,并且推送全部数据或者部分数据。 拉模式,即主题对象通知观察者对象状态值已改变,观察者根 阅读全文
posted @ 2016-05-15 11:25 潇潇Leslie 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 模板方法模式 模板方法模式 在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。 模板即是一个方法。此方法将算法定义成一组步骤,其中的任何步骤都可以是抽象的,由子类负责实现。这可以保证算法结构保持不变,同时由子类提供部分实 阅读全文
posted @ 2016-05-15 11:18 潇潇Leslie 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 策略模式 定义了算法族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。 说明: 1、可以动态地改变对象的行为; 2、各个策略算法的平等性,各个策略算法在实现上是相互独立的,相互之间没有任何依赖的(由此,策略模式也可以描述为“策略算法是相同行为的不同实现”); 3、在运 阅读全文
posted @ 2016-05-15 11:13 潇潇Leslie 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 装饰者模式 动态的将责任附加到对象上。若要扩展功能,装饰者模式提供了比继承更有弹性的替代方案。 说明: 1、装饰者和被装饰者对象有相同的超类型; 2、可以用一个或者多个装饰者包装一个对象; 3、既然装饰者和被装饰者对象有相同的超类型,所以在任何需要原始对象(被装饰者)的场合,可以用装饰过的对象代替它 阅读全文
posted @ 2016-05-15 10:52 潇潇Leslie 阅读(190) 评论(0) 推荐(0) 编辑