其他分享
首页 > 其他分享> > 适配器模式与桥梁模式的区别

适配器模式与桥梁模式的区别

作者:互联网

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

工厂模式

工厂模式:工厂模式是一种经常被使用到的模式,根据工厂模式实现的类可以根据 提供的数据生成一组类中某一个类的实例,通常这一组类有一个公共的抽象父类并 且实现了相同的方法,但是这些方法针对不同的数据进行了不同的操作。首先需要 定义一个基类,该类的子类通过不同的方法实现了基类中的方法。然后需要定义一 个工厂类,工厂类可以根据条件生成不同的子类实例。当得到子类的实例后,开发 人员可以调用基类中的方法而不必考虑到底返回的是哪一个子类的实例。

标签:一个,子类,适配器,桥梁,接口,模式,驱动器
来源: https://blog.csdn.net/m0_59776219/article/details/120391279