設計模式系列 介面卡模式(Adapter)

2021-09-24 11:23:55 字數 1179 閱讀 1304

專案中資料展示一般會有分頁需求,開始階段我們定義乙個介面:oldpagination來表示分頁資訊,詳情如下:

public inte***ce oldpagination
實現類:oldpaginationimpl

public class oldpaginationimpl implements oldpagination 

@override

public long pageindex()

@override

public int pagesize()

@override

public long total()

}

由於oldpagination是基礎介面,在**中大量引用,後來在開源世界裡發現有個優秀的分頁元件,計畫引入到專案中,但是元件裡表示分頁的資訊的介面定義如下:

public inte***ce newpagination
雖然從業務上講新老介面做的是同一件事,但是介面定義不相容,老介面被大量引用不能修改,這時需要引入介面卡讓新老介面協同工作,介面卡定義如下:

public class newpaginationadapterimpl implements newpagination 

@override

public long offset()

@override

public long total()

@override

public int pagesize()

}

消費新介面的工具類如下:

public class consumenewpagination 

}

main 測試如下:

public class main 

}

輸出:

offset:10,total:20,pagesize:10

設計模式系列 介面卡模式

見名知其意,介面卡可用於對多個不相容介面提供適配橋梁 介面卡模式屬於結構型模式。在現實世界中,這個模式適用的較為廣泛,比如 diy 一些電子產品,主要元器件提供的是標準介面,那麼無論我們購買什麼品牌的元器件,最終都能組裝起來正常執行。1 定義擴充套件介面和受支援的型別 public inte ce ...

JAV設計模式系列 介面卡模式

我的膝上型電腦的工作電壓是20v,而我國的家庭用電是220v,如何讓20v的膝上型電腦能夠在220v的電壓下工作?答案是引入乙個電源介面卡 ac adapter 俗稱充電器或變壓器,有了這個電源介面卡,生活用電和膝上型電腦即可相容,如圖所示 在軟體開發中,有時也存在類似這種不相容的情況,我們也可以像...

設計模式 介面卡模式 類介面卡 物件介面卡

乙個小例子,便於理解,上 這是我們造的。現在想用這個方法。public class adaptee 類介面卡。對我們想要的方法封裝一下,target就能像之前一樣,呼叫request方法即可。public class adapter1 extends adaptee implements targe...