按字母排序,尽量找哪些简单的J2SE的实现。 Abstract Factory:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。 例子:java.util.Calendar#getInstance(TimeZone) 提供一个时区参数即可从Calendar中创建需要的Calendar类的子类,而无需指定甚至知道它到底是哪个类调用的是哪个类的构造方法。 Adapter:将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 例子:java.io.InputStreamReader(InputStream) 可以将任何InputStream类(如文本流,网络流,内存流)的接口(InputStream)转换成用户希望的Reader抽象类(接口)(InputStreamReader)。可以使得那些原本不兼容Stream但是接受Reader而的组件可以正常工作。 Bridge:将抽象部分与它的实现部分分离,使它们都可以独立地变化。 例子:java.awt.Button 按钮显示成什么样子(抽象部分)根据运行的系统来决定,点击按钮的行为(实现部分)