介面卡模式

2021-09-16 23:25:01 字數 2015 閱讀 5125

介面卡模式:在不改變舊有**的實現邏輯的同時,又將原有介面的方法進行增強或轉換,去適配新的需求

1.新建idao介面---有增,改,查方法

public inte***ce idao
2.實現idao介面的daoimpl實現類

public class daoimpl implements  idaoelse 

}@override

public int updatebyid(int id, string name)

system.out.println("不存在需要更新的資料");

return -1;

}@override

public string selectbyone(int id)

}

3.建立servicea---業務a,僅需要增,改,查操作

// 業務a類採用原有實現

public class servicea

public void insert(int id,string name)

public void updatebyid(int id,string name)

public string selectbyid(int id)

}

4.建立serviceb---業務b,對於增,改介面有新的需求,舊有實現不滿足,但對於查詢,舊有介面滿足

// 1.需要insert方法,如果資料在資料庫中不存在則插入,如果存在則做更新操作.

// 2.需要updatebyid方法,如果資料在資料庫中存在則更新,不存在則作插入操作

// 3.查詢則維持原有操作不變

// 業務b類,對於idao介面的實現類產生了新的需求

// 1.需要insert方法,如果資料在資料庫中不存在則插入,如果存在則做更新操作.

// 2.需要updatebyid方法,如果資料在資料庫中存在則更新,不存在則作插入操作

// 3.查詢則維持原有操作不變

public class serviceb

public void insert(int id,string name)

public void updatebyid(int id,string name)

public string selectbyid(int id)

}

5.根據業務b需求,對於現有dao進行適配

// 對於業務b的新需求做了新的適配

public class daoadapter implements idao

return i;

}@override

public int updatebyid(int id, string name)

return i;

}@override

public string selectbyone(int id)

}

6.建立測試類進行測試

public class test 

}

7.測試結果---業務a採用的原有實現,業務b採用的適配後的實現,即業務b不用進行**的更改,只要構造時,傳入適配後的dao就行

介面卡模式:就是當舊有介面中,部分方法不滿足新的需求時,但其他介面滿足時,可以採用介面卡模式,通過實現原有介面,再去改造其中的方法,讓滿足需求的方法不改變原有邏輯,對不滿足的方法,做新的適配修改,這樣就可以在不更改原始碼的邏輯下,做到通用了

優點:將乙個類的介面轉換成另乙個介面,使原本不相容的類可以一起工作

缺點:如果有多種不同需求,就會產生多個介面卡,到了後期介面卡多了,維護比較麻煩

介面卡模式(類介面卡 物件介面卡)

做個筆記 引用 public inte ce usb public inte ce psp public class usber implements usb 類介面卡 psp適用usb介面 public class usbadapter extends usber implements psp 物...

介面卡模式 預設介面卡,類介面卡,物件介面卡

模式思想 改變乙個類的對外介面 增加或減少 以滿足不同外部呼叫者的需求 角色成員 目標介面 target 客戶所期待的介面。目標可以是具體的或抽象的類,也可以是介面。需要適配的類 adaptee 需要適配的類或適配者類。介面卡 adapter 通過包裝乙個需要適配的物件,把原介面轉換成目標介面。適配...

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

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