background image

 
在实际应用中,设计模式并不是一段具体的代码。设计模式通常是在设计说明书中描述。
将设计模式应用到系统中的真正挑战在于如何在系统中应用模式中的思想。这些思想必须
被应用到恰当的环境中。
  根据设计模式的所解决的问题,又可以分为以下几个类型:
  · 创建类型:创建类型的模式都是用于创建类的实例。但是和通过 new 来创建实例不
同,这些模式提供了更加灵活的方式,是程序能够根据特定的情况创建特定的类。
  · 结构类型:结构类型的模式帮助开发人员将简单对象组合在一起以后的更加复杂的
结构。
  · 行为类型:行为类型的模式帮助开发人员控制类之间的通讯。
  创建类型的模式
  所有创建类型的模式都和如何有效地创建类的实例相关。在 Java 中,如果开发人员要
生成一个类的实例,最简单的方法是使用 new 关键字:
  MyFoo = new Foo(); // 生成一个 Foo 的实例
  这种方法只能够在程序中生成固定的类。但是在很多情况下,程序需要根据不同的情
况生成不同的类的实例,这就需要将实例的生成过程抽象到一个特殊的创建类中,由该
类在运行时决定生成哪种类的实例。这样使得程序有更好的灵活性和通用性。
  创建类型的模式包括:
  · 工厂模式(Factory Pattern):根据工厂模式实现的类可以根据提供的数据生成一组类
中某一个类的实例,而这一组类有一个公共的抽象父类。
  · 抽象工厂模式(Abstract Factory Pattern):抽象工厂模式也可以根据提供的数据生成
一组类中某一个类的实例,而这一组类有一个公共的抽象父类。只不过它定义的是一个接
口。
  · 构造者模式(Builder Pattern):构造者模式将一个复杂对象的构造过程和它的表现层
分离开来,这样类就可以根据不同情况展现出不同的表现方式。
  · 原型模式(Prototype Pattern):原型模式通过对类的实例进行拷贝来创建新的实例。
  · 单一模式(Singleton Pattern):根据单一模式实现的类只允许有一个是类,并且提供
了一个全局指针来引用该实例。
  结构类型的模式
  结构类型的模式将类和对象组合起来,以构成更加复杂的结构。它又被划分为类模式
和对象模式。类模式和对象模式之间的区别在于类模式通过继承关系来提供有效的接口;
而类模式通过对象合成或将对象包含在其它对象中的方式构成更加复杂的结构。
  结构类型的模式包括了以下模式:
  · 适配器模式(Adapter Pattern):适配器模式可以将一个类的接口和另一个类的接口匹
配起来。
  · 桥梁模式(Bridge Pattern):桥梁模式对客户端程序提供一个固定的接口,但是允许
开发人员变化实际的实现类。这样开发人员就可以将接口是具体的实现类分离开来。
  · 复合模式(Composite Pattern):复合模式可以将多个对象进行复合,其中的每个对象
可以是简单对象,也可以是复合对象。
  · 代理模式(Proxy Pattern):代理模式利用一个简单的对象替代一个复杂的对象,当复
杂对象在需要的时候才会被加载到系统中,这样可以节约系统资源,提高系统的响应速
度。

网络

§环境中这种模式很有用处。

  · 修饰模式(Decorator Pattern):通过修饰模式,开发人员可以在运行时将特定的功能