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