专注于数据库与信息检索技术![sql9.com]

设计模式(7)-结构型-桥接模式(Bridge)(个人笔记)

概述:将抽象部分与它的实现部分分离,使它们都可以独立地变化。适用性    1.你不希望在抽象和它的实现部分之间有一个固定的绑定关系。      例如这种情况可能是因为,在程序运行时刻实现部分应可以被选择或者切换。    2.类的抽象以及它的实现都应该可以通过生成子类的方法加以扩充。      这时Bridge模式使你可以对不同的抽象接口和实现部分进行组合,并分别对它们进行扩充。    3.对一个抽象的实现部分的修改应对客户不产生影响,即客户的代码不必重新编译。    4.有许多类要生成,  这样一种类层次结构说明你必须将一个对象分解成两个部分。  &nb
发布时间:2012-08-11 | 类别:综合技术 | 阅读:3154 | 评论:0 | 标签:设计模式

设计模式(6)-结构型-适配器模式(Adapter)

概述 将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。  适用性 1.你想使用一个已经存在的类,而它的接口不符合你的需求。 2.你想创建一个可以复用的类,该类可以与其他不相关的类或不可预见的类(即那些接口 可能不一定兼容的类)协同工作。 3.(仅适用于对象Adapter)你想使用一些已经存在的子类,但是不可能对每一个都进行 子类化以匹配它们的接口。对象适配器可以适配它的父类接口。  参与者 1.Target 定义Client使用的与特定领域相关的接口。 2.Client 与符合Target接口的对
发布时间:2012-04-25 | 类别:综合技术 | 阅读:5419 | 评论:0 | 标签:设计模式 Java

设计模式(5)-创建型-原型(Prototype)模式

概述 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。  适用性 1.当一个系统应该独立于它的产品创建、构成和表示时。 2.当要实例化的类是在运行时刻指定时,例如,通过动态装载。 3.为了避免创建一个与产品类层次平行的工厂类层次时。 4.当一个类的实例只能有几个不同状态组合中的一种时。 建立相应数目的原型并克隆它们可能比每次用合适的状态手工实例化该类更方便一些。  参与者 1. Prototype 声明一个克隆自身的接口。 2. ConcretePrototype 实现一个克隆自身的操作。 3. Client 让一个原
发布时间:2012-04-24 | 类别:综合技术 | 阅读:4925 | 评论:0 | 标签:设计模式

设计模式(4)-创建型-建造者(Builder)

概述:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 适用性 1.当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时。 2.当构造过程必须允许被构造的对象有不同的表示时。 参与者 1.Builder 为创建一个Product对象的各个部件指定抽象接口。 2.ConcreteBuilder 实现Builder的接口以构造和装配该产品的各个部件。 定义并明确它所创建的表示。 提供一个检索产品的接口。 3.Director 构造一个使用Builder接口的对象。 4.Product 表示被构造的复杂对象。Concrete
发布时间:2012-04-24 | 类别:综合技术 | 阅读:1769 | 评论:0 | 标签:设计模式

设计模式(3)-创建型-抽象工厂(Abstract Factory)

概述:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。 适用性: 1.一个系统要独立于它的产品的创建、组合和表示时。 2.一个系统要由多个产品系列中的一个来配置时。 3.当你要强调一系列相关的产品对象的设计以便进行联合使用时。 4.当你提供一个产品类库,而只想显示它们的接口而不是实现时。 参与者: 1.AbstractFactory 声明一个创建抽象产品对象的操作接口。 2.ConcreteFactory 实现创建具体产品对象的操作。 3.AbstractProduct 为一类产品对象声明一个接口。 4.ConcreteProduct 定
发布时间:2012-04-24 | 类别:综合技术 | 阅读:1528 | 评论:0 | 标签:设计模式

设计模式(2)-创建型-工厂方法(Factory method)

概述:定义一个用于创建对象的接口,让子类决定实例化哪一个类。FactoryMethod使一个类的实例化延迟到其子类。 适用性: 1.当一个类不知道它所必须创建的对象的类的时候。 2.当一个类希望由它的子类来指定它所创建的对象的时候。 3.当类将创建对象的职责委托给多个帮助子类中的某一个,并且你希望将哪一个帮助子类是代理者这一信息局部化的时候。 参与者: 1.Product 定义工厂方法所创建的对象的接口。 2.ConcreteProduct 实现Product接口。 3.Creator 声明工厂方法,该方法返回一个Product类型的对象。 Creator也可以定义一个工厂方法的缺省实现,它返回一个缺省
发布时间:2012-04-22 | 类别:综合技术 | 阅读:1528 | 评论:0 | 标签:设计模式

设计模式(1)-创建型-单件(Singleton)模式

提起设计模式,确实有不少著作讨论它,<<设计模式>>一书理论化很强,我这里干脆整理出一些用代码来体现的实例来说明。第一个就是Singleton模式,意指始终保证只创建或得到一个唯一的实例。其代码如下:package com.sql9.created;/** * @author iihero */class SafeSingleton{    public static class Holder    {        private static SafeSingleton instance = new SafeSingleton();&n
发布时间:2012-04-22 | 类别:综合技术 | 阅读:1917 | 评论:0 | 标签:设计模式

公告

欢迎光临本站, SQL9.com,联系方式:
Tel:

欢迎使用SQL6生活搜索[由iihero labs提供]
天气|IP|身份证搜索|邮编|电话区号|JSON格式化

标签云