八、适配器模式

适配器模式,用一个类作为中间桥梁把无法被直接使用的功能类通过适配,最终能够被间接使用。

如图:

优点:适配器模式能够提高代码的复用性,使得原本无法被使用的类能够被使用。

缺点:但是适配器模式会提高代码的复杂性,让原本简单的逻辑结构变得有些绕,如果使用了大量的适配器,那整个程序结构就会变得混乱不堪,所以如果能够通过重构完成的,还是不要使用适配器比较好。

下面是代码:

/**
 * 适配器模式
 * @author lay
 */
public class AdapterDemo {

    public static void main(String[] args) {
        Adapter adapter = new Adapter();
        adapter.sayAdapter();
    }
}

// 将无法使用的接口进行适配,客户端通过适配器调用接口
class Adapter{

    private Parent parent;

    public Adapter(){
        this.parent = new Child();
    }

    public void sayAdapter(){
        System.out.println("调用适配器方法");
        parent.say();
    }
}

// 无法被客户端使用的接口
interface Parent{
    public void say();
}

class Child implements Parent{

    @Override
    public void say() {
        System.out.println("i‘m a child");
    }

}
时间: 2024-10-07 15:05:29

八、适配器模式的相关文章

(八)适配器模式

转载:http://www.cnblogs.com/zuoxiaolong/p/pattern9.html 适配器模式从实现方式上分为两种,类适配器和对象适配器,这两种的区别在于实现方式上的不同,一种采用继承,一种采用组合的方式.        另外从使用目的上来说,也可以分为两种,特殊适配器和缺省适配器,这两种的区别在于使用目的上的不同,一种为了复用原有的代码并适配当前的接口,一种为了提供缺省的实现,避免子类需要实现不该实现的方法. 首先应该明白一点,适配器模式是补救措施,所以在系统设计过程中

Java设计模式菜鸟系列(八)适配器模式建模与实现

转载请注明出处:http://blog.csdn.net/lhy_ycu/article/details/39805069 适配器模式(Adapter):将某个类的接口转换成客户端期望的另一个接口表示,目的是消除由于接口不匹配所造成的类的兼容性问题. 主要分为三类:类的适配器模式.对象的适配器模式.接口的适配器模式. 一.类的适配器模式 1.uml建模: 2.代码实现 /** * 示例(一):类的适配器模式 * * 原类拥有一个待适配的方法originMethod */ class Origin

设计模式八 适配器模式

0.基本定义 p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica } 将一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作. 通俗的讲,在不改变老系统的功能接口情况下,作向下兼容. spring中以Adapter结尾的都是. 1.实例代码(类间继承) 功能:对原来对账号密码登入方式,添加第三方登入. 老接口: public class SiginService { pu

Java设计模式菜鸟系列总结及博客全目录

转载请注明出处:http://blog.csdn.net/lhy_ycu/article/details/40031567 今天来对这23种设计模式做个总结.咱使用设计模式的目的是为了可重用代码.让代码更容易被他人理解.保证代码可靠性,当然设计模式并不是万能的,项目中的实际问题还有具体分析.咱不能为了使用设计模式而使用,而是在分析问题的过程中,想到使用某种设计模式能达到咱需要的效果,而且比不使用设计模式更有优势,那么咱该考虑使用设计模式了. 一.设计模式的一般分类 创建型(Creator)模式(

Java设计模式博客全文件夹

转载请注明出处:http://blog.csdn.net/lhy_ycu/article/details/40031567 今天来对这23种设计模式做个总结.咱使用设计模式的目的是为了可重用代码.让代码更easy被他人理解.保证代码可靠性.当然设计模式并非万能的.项目中的实际问题还有详细分析. 咱不能为了使用设计模式而使用,而是在分析问题的过程中.想到使用某种设计模式能达到咱须要的效果,并且比不使用设计模式更有优势.那么咱该考虑使用设计模式了. 一.设计模式的一般分类 创建型(Creator)模

设计模式(八):适配器模式

一.概述 适配器模式将一个类的接口,转换为客户期望的另一个接口.适配器让原本不兼容的类可以合作无间 二.解决问题 从模式的定义中,我们看到适配器模式就是用来转换接口,解决不兼容问题的.想想我们现实生活中的适配器,最常用的就是手机充电器了,也叫做电源适配器,它把家用交流强电转换为手机用的直流弱电.其中交流电就是被适配者,充电器是适配器,手机是用电客户. 三.结构类图 四.成员角色 客户(Client):只能调用目标接口功能,不能直接使用被适配器,但可以通过适配器的接口转换间接使用被适配器. 目标接

Java设计模式(八) 适配器模式

原创文章,转载请务必将下面这段话置于文章开头处. 本文转发自Jason's Blog,原文链接 http://www.jasongj.com/design_pattern/adapter/ 适配器模式介绍 适配器模式定义 适配器模式(Adapter Pattern),将一个类的接口转换成客户希望的另外一个接口.适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作. 适配器模式类图 适配器模式类图如下 适配器模式角色划分 目标接口,如上图中的ITarget 具体目标实现,如Concr

设计模式(八)---适配器模式

1.简介 将一个类的接口转换成客户希望的另外一个接口.使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作. 2.适配器模式的两种形式及实现方式 2.1.类的适配器模式 (采用继承实现) 2.2.对象的适配器模式 (采用委派方式 即对象组合方式实现) 3.类的适配器模式 类的适配器模式把适配的类的API转换成为目标类的API.类图如下 在上图中可以看出,Adaptee类并没有sampleOperation2()方法,而客户端则期待这个方法.为使客户端能够使用Adaptee类,提供一个中间环

(八)适配器模式

1. 定义 适配器模式(Adapter),将一个类的接口转换成客户希望的另一个接口.Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作.[DP] 适配器模式主要应用于希望复用一些现存的类,但是接口又与复用环境要求不一致的情况. 适配器模式主要分为两种: 类适配器模式 对象适配器模式 2. 何时使用适配器模式 使用一个已经存在的类,但如果它的接口和需要的不相同时,就应该考虑用适配器模式. 首先不应该考虑用适配器,而是应该考虑通过重构统一接口,只有双方都不太容易修改的时候再使