專案中資料展示一般會有分頁需求,開始階段我們定義乙個介面: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...