适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而使原本因 接口不匹配而无法在一起工作的两个类能够在一起工作。又称为转换器模式、变压 器模式、包装模式(把已有的一些类包装起来,使之能有满足需要的接口)。适配器 第 19 页 共 168 页 模式的用意是将接口不同而功能相同或者相近的两个接口加以转换,包括适配器角 色补充一些源角色没有但目标接口需要的方法。就像生活中电器插头是三相的,而 电源插座是两相的,这时需要一个三相变两相的转换器来满足。 比如,在 Java I/O 库中使用了适配器模式,象 FileInputStream 是一个适配器 类,其继承了 InputStrem 类型,同时持有一个对 FileDiscriptor 的引用。这是将 一个 FileDiscriptor 对象适配成 InputStrem 类型的对象形式的适配器模式。 StringReader 是一个适配器类,其继承了 Reader 类型,持有一个对 String 对象的 引用。它将 String 的接口适配成 Reader 类型的接口。等等。 桥梁模式的用意是要把实现和它的接口分开,以便它们可以独立地变化。桥梁 模式并不是用来把一个已有的对象接到不相匹配的接口上的。当一个客户端只知道 一个特定的接口,但是又必须与具有不同接口的类打交道时,就应该使用桥梁模式。 比如,JDBC 驱动器就是一个桥梁模式的应用,使用驱动程序的应用系统就是抽象化 角色,而驱动器本身扮演实现化角色。应用系统和 JDBC 驱动器是相对独立的。应用 系统动态地选择一个合适的驱动器,然后通过驱动器向数据库引擎发出指令就可以 访问数据库中的数据
适配器模式与桥梁模式的区别
最新推荐文章于 2024-07-03 11:05:29 发布