摘要: 职责链模式:使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系。将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理他为止。 •Handler: 抽象处理者:定义出一个处理请求的接口。如果需要,接口可以定义出一个方法,以设定和返回对下家的引用。这个角色通常由一个抽象类 阅读全文
posted @ 2016-09-27 11:17 池塘ddjyds 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 代理模式的定义:为其他对象提供一种代理以控制对这个对象的访问。对一个对象进行访问控制的一个原因是为了只有在我们确实需要这个对象时才对它进行创建和初始化。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。 抽象主题角色(Subject):通过接 阅读全文
posted @ 2016-09-26 17:11 池塘ddjyds 阅读(90) 评论(0) 推荐(0) 编辑
摘要: 运用共享的技术有效地支持大量细粒度的对象。让一个对象共享是享元模式的实现精髓所在。 把类实例外面的参数称为享元对象的外部状态,把在享元对象内部定义称为内部状态。 具体享元对象的内部状态与外部状态的定义为: 内部状态:在享元对象的内部并且不会随着环境的改变而改变的共享部分; 外部状态:随环境改变而改变 阅读全文
posted @ 2016-09-26 10:17 池塘ddjyds 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 为子系统中的一组接口提供一个统一接口。Facade模式定义了一个高层接口,这个接口使得这一子系统更容易使用。 引入外观角色之后,用户只需要直接与外观角色交互,用户与子系统之间的复杂关系由外观角色来实现,从而降低了系统的耦合度。完美体现了依赖倒置原则和迪米特法则的思想; 外观角色(Facade):是模 阅读全文
posted @ 2016-09-23 17:39 池塘ddjyds 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 别名:包装器Wrapper 在不必改变原类文件和使用继承的情况下,动态地给一个对象添加一些额外的职责。就增加/扩展功能来说, Decorator模式提供了比生成子类(继承)更为灵活的替代方案。它是通过创建一个包装对象,也就是用装饰对象来包裹真实的对象。 (1) 装饰对象和真实对象(被装饰对象)有相同 阅读全文
posted @ 2016-09-23 15:19 池塘ddjyds 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 组合模式主要用来处理一类具有“容器特征”的对象——即它们在充当对象的同时,又可以作为容器包含其他多个对象。 组合模式实现的最关键的地方是——简单对象和复合对象必须实现相同的接口。这就是组合模式能够将组合对象和简单对象进行一致处理的原因。 组合模式中涉及到三个角色: 抽象构件(Component)角色 阅读全文
posted @ 2016-09-23 14:39 池塘ddjyds 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 桥接模式(Bridge),将抽象部分与它的实现部分分离,使它们都可以独立地变化。Bridge 模式把角色之间的继承关系改为了耦合的关系,从而使这两者可以从容自若的各自独立的变化; 在以下的情况下应当使用桥梁模式: 1.如果一个系统需要在构件的抽象化角色和具体化角色之间增加更多的灵活性,避免在两个层次 阅读全文
posted @ 2016-09-22 17:53 池塘ddjyds 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作。 模式中的角色 目标接口(Target):客户所期待的接口。目标可以是具体的或抽象的类,也可以是接口。 需要适配的类(Adaptee):需要适配的类或适配者类。 适配器(Adap 阅读全文
posted @ 2016-09-21 16:33 池塘ddjyds 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象。 它通过复制一个已经存在的实例来返回新的实例,而不是新建实例.被复制的实例就是我们所称的原型,这个原型是可定制的. 原型模式多用于创建复杂的或者耗时的实例, 因为这种情况下,复制一个已经存在的实例可以使程序运行更高效,或者创建值相等,只是 阅读全文
posted @ 2016-09-21 13:43 池塘ddjyds 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 建造者模式(Builder)又叫生成器模式:将一个复杂对象的构建与它的表示相分离,使得同样的构建过程可以创建不同的表示。 建造者模式通常包括下面几个角色: 1. 生成器builder:给出一个抽象接口,以规范产品对象的各个组成成分的建造。这个接口规定要实现复杂对象的哪些部分的创建,并不涉及具体的对象 阅读全文
posted @ 2016-09-20 17:57 池塘ddjyds 阅读(187) 评论(0) 推荐(0) 编辑