Happy 設計模式之適配器模式(JAVA)

來源:互聯網
上載者:User

標籤:設計模式   java   


設計模式-適配器模式


適配器模式定義

適配器模式,將一個類的的介面轉換成客戶或者產品希望的介面形式,就是原本不相容或者甚至不相干的介面不能一起工作的介面一起工作,完成需求或者客戶的需求。


適配器模式的使用情境

1、當你使用一個已經存在的類,而他的介面不符合你的需求。

2、你想要建立一個複用的類,該類可以與其相關的類或者不可見的類協同工作。


適配器角色

Target:目標介面

TargetImpl:目標實作類別

Adapter:適配器

Adaptee:被適配者


代碼解析:

package com.design.pattern.adapter;/** * 目標介面類 * Created by sdc on 2017/9/3. */public interface Target {    /**     * 處理方法     */    public void spider();}
package com.design.pattern.adapter;/** * Created by sdc on 2017/9/3. */public class TargetImpl implements Target {    @Override    public void spider() {        //dosomething        System.out.println("dosomething");    }}
package com.design.pattern.adapter;/** * 適配者 * Created by sdc on 2017/9/3. */public class Adaptee {    public void spiderFor() {        System.out.println("Adaptee 適配器方法");    }}
package com.design.pattern.adapter;/** * 被適配者3 * Created by sdc on 2017/9/3. */public class Adapteer implements Target {    //適配者    private Adaptee adaptee = new Adaptee();    @Override    public void spider() {        adaptee.spiderFor();    }}
package com.design.pattern.adapter;/** * Created by sdc on 2017/9/3. */public class Main {    public static void main(String[] args) {       Target adapteer =  new Adapteer();       adapteer.spider();       Target target1 = new TargetImpl();       target1.spider();    }}


這樣一個簡單的設計模式完成了。有的時候項目裡,有很多重複的代碼,每天都會建立重複的代碼,嘗試著把代碼抽取出來,或者可以用一些實際模式做出一些簡單的設計,或許有不一樣的效果。

本文出自 “不積跬步無以至千裡” 部落格,請務必保留此出處http://shangdc.blog.51cto.com/10093778/1962321

Happy 設計模式之適配器模式(JAVA)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.