1. 程式人生 > 其它 >java 設計模式之介面卡模式(五)

java 設計模式之介面卡模式(五)

技術標籤:Android設計模式java介面卡模式

java 設計模式之介面卡模式⑤

人生,沒有永遠的傷痛,再深的痛,在切之時,傷口總會痊癒。人生,沒有過不去的坎,你不可以坐在坎邊等它消失,你只能想辦法穿過它。人生,沒有永遠的愛情,沒有結局的感情,總要結束;不能擁有的人,總會忘記。

結構型模式分類

  • 介面卡模式
  • 代理模式
  • 橋接模式
  • 裝飾模式
  • 組合模式
  • 外觀模式
  • 享元模式

結構型模式定義

從程式的結構上實現鬆耦合,從而擴大整體結構,用來解決更大的問題

介面卡模式定義

將一個類的介面實現成客戶端想要的介面,介面卡模式就是將2個毫無關係的類組好到一起,起到一個’中間商’的作用,可以讓他們一起工作

分析

效果圖(1.1):


現在科技越來越進步,電腦是越來越薄,導致網線插補到電腦上,這裡就相當於使用了介面卡模式,將網線和電腦合併到一起,可以讓電腦連線到網路!

程式碼實現:

Computer 電腦類:

public class Computer {
    //電腦需要轉接線才能上網
    public void net(Adapter adapter){
        adapter.net();
    }
}

Netting 網線類:

public class Netting {
    public void ConnectNetwork(){
        Log.i("介面卡模式:"
,"已經連線網路"); } }

INettingToComputer網線介面(為了滿足開閉原則)

public interface INettingToComputer {
    public void net();
}

Adapter轉換器:

public class Adapter implements INettingToComputer{

    private  Netting netting;
    //將網線組合進來
    public Adapter(Netting netting) {
        this.netting = netting;
} @Override public void net() { netting.ConnectNetwork(); } }

程式碼實現:

 //電腦
Computer computer = new Computer();

//網路
Netting netting = new Netting();

//轉換器
Adapter adapter = new Adapter(netting);

//電腦通過轉換器連線網路
computer.net(adapter);

效果圖(1.2):

分析:

  • Adapter 介面卡
  • Computer 電腦
  • Netting 網線
  • INettingToComputer網線介面(Adapter實現)

優點:

  • 一個物件介面卡把多個不同不同的適配者適配到同一個類中
  • 可以適配一個適配者的子類,由於介面卡和適配者之前是關聯關係,根據里氏替換原則適配者的子類也可以通過該介面卡進行適配.

這就是一個簡單的介面卡模式

完整程式碼

最近文章:

java 設計模式之 建造型:單例模式(一)

java 設計模式之 建造型:工廠方法/抽象工廠模式(二)

java 設計模式之 建造型:原型模式(三)

java 設計模式之 建造型:建造者模式(四)

去設計模式/設計原則目錄頁

原創不易,記得點個贊支援一下哦~