1. 程式人生 > 其它 >(16)介面卡模式

(16)介面卡模式

概念

電腦是無法直接插入記憶體卡的,那麼可以使用讀卡器作為電腦和記憶體卡的橋樑,電腦可以通過呼叫讀卡器,從而讀到記憶體卡中的資訊。那麼讀卡器就相當於一個介面卡。其實就是電腦通過介面卡的方法間接訪問記憶體卡的資訊。

介面卡平時寫程式碼也經常用到。比如使用VO類接受前端引數,但是儲存到資料庫時需要的是PO類。那麼可以寫一個方法傳入VO返回PO,這就是介面卡

實現方式

/**
 * 介面卡
 */
public class Demo {
    public static void main(String[] args) {
        // 記憶體卡
        MomeryCard momeryCard = new MomeryCard();
        // 讀卡器。讀卡器中插入記憶體卡
        ReadCard readCard = new ReadCard(momeryCard);
        // 電腦。電腦插入讀卡器
        Computer computer = new Computer(readCard);
        // Computer computer = new Computer(momeryCard); // 電腦無法直接插入記憶體卡
        computer.readCardInfo();// 電腦訪問記憶體卡的資訊
    }
}

// 記憶體卡(被適配的類)
class MomeryCard {
    public void info() {
        System.out.println("記憶體卡中的資訊");
    }
}

// 電腦
class Computer {
    Adapter adapter;

    public Computer(Adapter adapter) {
        this.adapter = adapter;
    }

    public void readCardInfo() {
        adapter.readCardInfo();
    }
}

// 介面卡介面
interface Adapter {
    void readCardInfo();
}

// 讀卡器(具體介面卡),讀取記憶體卡資訊
class ReadCard implements Adapter {
    MomeryCard momeryCard;

    public ReadCard(MomeryCard momeryCard) {
        this.momeryCard = momeryCard;
    }

    @Override
    public void readCardInfo() {
        momeryCard.info();
    }
}

記憶體卡中的資訊