Java適配器模式(adapter)

      網友投稿 665 2022-05-29

      文章目錄

      適配器模式

      什么是適配器模式

      模式中的角色

      適配器的實現方式

      1.類適配器方式

      2.對象適配器方式

      工作中的場景

      適配器模式

      什么是適配器模式

      將一個類的接口轉換成客戶希望的另外一個接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些類可以在一起工作。

      模式中的角色

      目標接口(Target):客戶所期待的接口。目標可以是具體的或抽象

      的類,也可以是接口。

      需要適配的類(Adaptee):需要適配的類或適配者類。

      適配器(Adapter):通過包裝一個需要適配的對象,把原接口轉換成

      目標接口

      適配器的實現方式

      1.類適配器方式

      被適配的類

      /** * 被適配的類 * (相當于例子中的,PS/2鍵盤) * @author Administrator * */ public class Adaptee { public void request(){ System.out.println("可以完成客戶請求的需要的功能...."); } }

      1

      2

      3

      4

      5

      6

      7

      8

      Java適配器模式(adapter)

      9

      10

      11

      12

      目標類

      /** * 定義適配器的功能 目標類 * @author dengp * */ public interface Target { /** * 處理請求的方法 */ void handleReq(); }

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      適配器類

      /** * 適配器 (類適配器方式) * (相當于usb和ps/2的轉接器) * @author 波波烤鴨 * */ public class Adapter extends Adaptee implements Target { @Override public void handleReq() { super.request(); } }

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      測試

      public static void main(String[] args) { Client c = new Client(); Target t = new Adapter(); t.handleReq(); }

      1

      2

      3

      4

      5

      2.對象適配器方式

      適配器類

      /** * 適配器 (對象適配器方式,使用了組合的方式跟被適配對象整合) * (相當于usb和ps/2的轉接器) * @author 波波烤鴨 * */ public class Adapter2 implements Target { private Adaptee adaptee; @Override public void handleReq() { adaptee.request(); } public Adapter2(Adaptee adaptee) { super(); this.adaptee = adaptee; } }

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      14

      15

      16

      17

      18

      19

      20

      測試

      public static void main(String[] args) { Adaptee a = new Adaptee(); Target t = new Adapter2(a); t.handleReq(); }

      1

      2

      3

      4

      5

      工作中的場景

      經常用來做舊系統改造和升級

      如果我們的系統開發之后再也不需要維護,那么很多模式都是沒必要的,但是不幸的是,事實卻是維護一個系統的代價往往是開發一個系統的數倍。

      JavaSE中使用到適配器模式的場景

      java.io.InputStreamReader(InputStream)

      java.io.OutputStreamWriter(OutputStream)

      ~適配模式比較簡單,就介紹到這兒了

      Java

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:JVM加載Class文件的原理機制
      下一篇:分布式架構的套路No.74
      相關文章
      亚洲制服中文字幕第一区| 精品亚洲成α人无码成α在线观看| 亚洲午夜成人精品电影在线观看| 亚洲精品无播放器在线播放 | 亚洲自偷自偷偷色无码中文| 亚洲精品无码你懂的网站| mm1313亚洲精品国产| 一级毛片直播亚洲| 朝桐光亚洲专区在线中文字幕 | 亚洲AV无码国产精品永久一区| 在线观看日本亚洲一区| 亚洲色成人WWW永久在线观看| 中国china体内裑精亚洲日本| 亚洲一区二区观看播放| 亚洲狠狠色丁香婷婷综合| WWW亚洲色大成网络.COM | 亚洲视频免费在线播放| 亚洲日本在线免费观看| 激情亚洲一区国产精品| 亚洲国产综合精品中文第一| 亚洲午夜无码久久| 国产成人亚洲精品播放器下载| 亚洲 无码 在线 专区| 亚洲国产中文v高清在线观看| 亚洲一级Av无码毛片久久精品| 国产美女亚洲精品久久久综合| 亚洲国产精华液网站w| 亚洲一卡2卡三卡4卡有限公司| 亚洲日韩乱码中文无码蜜桃臀| 亚洲不卡1卡2卡三卡2021麻豆| 亚洲人成网站免费播放| 国产亚洲精品美女久久久久| 国产亚洲自拍一区| 亚洲成AV人片在线观看WWW| 97久久精品亚洲中文字幕无码| 亚洲国产福利精品一区二区| 亚洲成人激情小说| 四虎精品亚洲一区二区三区| 国产亚洲精品精品国产亚洲综合 | 亚洲国产精品无码久久| 亚洲第一页综合图片自拍|