IOC控制反轉(zhuǎn)和DI依賴注入

創(chuàng)建被調(diào)用者的工作不再由調(diào)用者來完成,因此稱為控制反轉(zhuǎn);

<?php

interface IDeviceWriter {
    public function saveToDevice();
}

class Business {
    private $writer;

    public function setWriter($writer) {
        $this->writer = $writer;
    }

    public function save() {
        $this->writer->saveToDevice();
    }
}

class FloppyWriter implements IDeviceWriter {
    public function saveToDevice()
    {
        echo __METHOD__ . PHP_EOL;
    }
}

class UsbWriter implements IDeviceWriter {
    public function saveToDevice()
    {
        echo __METHOD__ . PHP_EOL;
    }
}

$biz = new Business();
$biz->setWriter(new FloppyWriter());
$biz->save();

$biz->setWriter(new UsbWriter());
$biz->save();

參考資料:https://segmentfault.com/a/1190000002411255

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 1.IoC的概念 IoC:通過容器去控制業(yè)務對象之間的依賴關系??刂茩嘤蓱么a中轉(zhuǎn)到了外部容器,控制權的轉(zhuǎn)移就是...
    禿頭哥編程閱讀 7,466評論 0 10
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,318評論 25 708
  • 去成都時并不知道這個有名的歌曲《成都,成都》,老婆說回來被同事狠狠的嘲笑了一把。那就補上吧,開始循環(huán)聽。于是我也會...
    douhaolee閱讀 233評論 0 0
  • 大跌形式下 選擇一個幣 選擇一個波段比較大的 低價進 符合心理價出 一天頻繁做幾筆 算好手續(xù)費 分批進 一萬---...
    虛通磨忍閱讀 122評論 0 0
  • 文|鐵爐 1.人生沒有失敗,只有在失敗的十字路口怎么選擇,選擇繼續(xù)前進是前途無量,選擇停止...
    湘邵鐵爐閱讀 358評論 19 7

友情鏈接更多精彩內(nèi)容