`

适配器模式

 
阅读更多

1、类的适配器模式:有一个待适配的类Source,目标接口Targetable,通过Adapter将Source的功能扩展到Targetable。实现:Adapter继承Source拥有Source的方法,去适配Targetable。
2、对象适配器模式:Adapter不继承Source,只是持有Source的实例,用Source的方法去适配Targetable。
3、接口适配模式:不想实现目标接口所有的抽象方法,借助一个Wrapper抽象类实现接口,再由Wrapper的子类具体实现想要实现的方法。


对象适配模式:
1、装饰模式:Source类和Decorator类都实现Sourecable接口,Decorator类动态持有Source类的实例,对接口方法进行动态扩展。
装饰器模式的应用场景:
a 需要扩展一个类的功能。
b 动态的为一个对象增加功能,而且还能动态撤销。(继承不能做到这一点,继承的功能是静态的,不能动态增删。)
缺点:产生过多相似的对象,不易排错!

2、代理模式:Source类和Proxy类都实现Sourecable接口,Proxy类在内部创建Source类的实例,对接口方法进行修改。

装饰器模式关注于在一个对象上动态的添加方法,然而代理模式关注于控制对对象的访问。换句话 说,用代理模式,代理类(proxy class)可以对它的客户隐藏一个对象的具体信息。因此,当使用代理模式的时候,我们常常在一个代理类中创建一个对象的实例。并且,当我们使用装饰器模 式的时候,我们通常的做法是将原始对象作为一个参数传给装饰者的构造器。

3、外观模式:使用一个外观类,其方法分别由各个具体类实现,外观类持有各个具体类,将方法解耦为各个具体类。

4、桥接模式:把事物和其具体实现分开,使他们可以各自独立的变化。桥接的用意是:将抽象化与实现化解耦,使得二者可以独立变化,像我们常用的JDBC桥DriverManager一样,JDBC进行连接数据库的时候,在各个数据库之间进行切换,基本不需要动太多的代码,甚至丝毫不用动,原因就是JDBC提供统一接口,每个数据库提供各自的实现,用一个叫做数据库驱动的程序来桥接就行了。

5、组合模式定义:将对象以树形结构组织起来,以达成“部分-整体” 的层次结构,使得客户端对单个对象和组合对象的使用具有一致性.
a.使客户端调用简单,客户端可以一致的使用组合结构或其中单个对象,用户就不必关系自己处理的是单个对象还是整个组合结构,这就简化了客户端代码。
b.更容易在组合体内加入对象部件. 客户端不必因为加入了新的对象部件而更改代码

6、享元模式:当一个应用中使用了大量的对象,这些对象造成了很大的存储开销,而对象的大部分状态或参数都是相同(内部状态)的时候,可以考虑使用享元模式,使用享元模式可以是这些对象引用都共享相同的实例,降低存储开销,而对象之间的不同的状态参数(外部状态)则使用外部参数传入来实现。

分享到:
评论

相关推荐

    适配器模式t31

    适配器模式是一种软件设计模式,它允许两个不兼容的接口之间进行通信。在软件工程中,这种模式常被用来解决新旧系统对接、不同组件间的兼容性问题,或者为了复用已有代码而进行的接口转换。适配器模式的核心思想是...

    适配器模式1

    适配器模式是一种软件设计模式,它允许两个不兼容的接口之间进行通信。在C++中,适配器模式可以通过类继承或者对象组合的方式实现。类适配器模式利用多重继承,让适配器类同时继承目标接口和适配者类,而对象适配器...

    适配器模式Demo

    适配器模式是一种软件设计模式,它允许两个不兼容的接口之间进行通信。在实际的软件开发中,我们经常会遇到需要将现有类的功能融入到新系统中,但这些类的接口与新系统的要求不匹配的情况。适配器模式就提供了一个...

    适配器模式笔记1

    【适配器模式笔记1】 适配器设计模式是一种结构型设计模式,它允许不同的类协同工作,即使它们的接口不兼容。适配器模式的关键在于将一个类的接口转换成客户端期望的另一种接口,从而使得原本由于接口不兼容而不能...

    13适配器模式1

    适配器模式是一种软件设计模式,它允许两个不兼容的接口之间进行通信。在软件开发过程中,有时我们可能需要使用一些已经存在的类或组件,但它们的接口与我们的系统不匹配,这时候适配器模式就能派上用场。适配器模式...

    php适配器模式介绍

    适配器模式是一种软件设计模式,它允许两个不兼容的接口之间进行通信。在PHP开发中,当需要复用已有的类或者库,但它们的接口与当前项目的需求不匹配时,适配器模式就显得尤为有用。适配器模式主要有对象适配器和类...

    c# 适配器模式

    适配器模式是一种设计模式,它在软件工程中扮演着重要的角色,特别是在处理不同系统、组件或类之间的接口不兼容性时。C#中的适配器模式同样遵循这一原理,帮助开发者解决接口不匹配的问题,使得原本无法协作的类能够...

    java中适配器模式案例

    适配器模式是一种设计模式,它允许不兼容的类或接口之间进行通信,通过创建一个适配器类作为中间桥梁,使得原本不匹配的接口能够协同工作。在Java中,适配器模式广泛应用于系统集成、旧代码复用以及第三方库的兼容性...

    Java适配器模式定义与用法示例

    Java适配器模式定义与用法示例 Java适配器模式是一种结构型设计模式,用于将一个类的接口转换成客户想要的另一个接口,使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。该模式主要包括三个角色:目标、...

    详解Java适配器模式

    Java 适配器模式详解 Java 适配器模式是一种结构型设计模式,主要用来解决不同接口之间的不兼容问题。在软件开发中,经常会遇到两个不同的接口之间需要进行交互的情况,这时就需要使用适配器模式来解决问题。 ...

    适配器模式、适配器模式

    适配器模式

    类适配器, 对象适配器模式,缺省适配器模式1

    适配器模式分为类适配器模式和对象适配器模式,还有缺省适配器模式。 1. **类适配器模式**: 在类适配器模式中,适配器类通过继承被适配类(Adaptee)并实现目标接口(Target)。这种方式下,适配器和被适配类之间...

    PHP设计模式之适配器模式原理与用法分析

    适配器模式有两种:类适配器模式和对象适配器模式。其中类适配器模式使用继承方式,而对象适配器模式使用组合方式。由于类适配器模式包含双重继承,而PHP并不支持双重继承,所以一般都采取结合继承和实现的方式来...

    c#设计模式 适配器模式详细介绍

    适配器模式是一种在软件设计中广泛使用的结构型模式,其主要目的是解决不同接口或类之间接口不兼容的问题,使得原本不能一起工作的类能够协同工作。适配器模式通过创建一个适配器类,将旧的或不兼容的接口转换为客户...

    8. 适配器模式1

    适配器模式是一种设计模式,它的主要目的是解决不兼容接口之间的通信问题,使得原本由于接口不匹配而无法协同工作的组件可以有效地协作。在软件工程中,适配器模式扮演着“桥梁”的角色,将旧的或者不同的接口转换成...

    C#适配器模式

    适配器模式是一种软件设计模式,它允许两个不兼容的接口之间进行通信。在C#中,适配器模式常用于解决系统中的类之间接口不匹配的问题,使得原本无法一起工作的类可以协同工作。适配器模式的核心思想是将一个类的接口...

Global site tag (gtag.js) - Google Analytics