看看用TypeScript怎樣實現(xiàn)常見的設計模式,順便復習一下。
學模式最重要的不是記UML,而是知道什么模式可以解決什么樣的問題,在做項目時碰到問題可以想到用哪個模式可以解決,UML忘了可以查,思想記住就好。
這里盡量用原創(chuàng)的,實際中能碰到的例子來說明模式的特點和用處。

適配器模式 Adapter

特點:把類或接口轉換成另一個接口以便系統(tǒng)調用。

用處:當系統(tǒng)需要引入多個功能類并且這些功能的接口不統(tǒng)一時可以考慮用適配器模式把它們轉成統(tǒng)一的接口,現(xiàn)實中的例子很多,比如充電器接口適配器。

注意:分為對象適配器和類適配器。

適配器模式的目的主要在于解決接口兼容性。

下面用TypeScript簡單實現(xiàn)一下適配器模式:
假定現(xiàn)在項目已經(jīng)在用一個畫圖接口Graph以及它的實現(xiàn)Canvas2D:

interface Graph{
    drawLine();

    drawPie();
}class Canvas2D implements Graph{
    drawLine(){        console.log('draw 2d line');
    }

    drawPie(){        console.log('draw 2d pie');
    }
}

項目升級需要提高UI美觀,引入3D畫圖庫Canvas3D,兩者接口不一樣:

class Canvas3D{
    draw3DLine(){        console.log('draw 3d line');
    }

    draw3DPie(){        console.log('draw 3d pie');
    }
}

項目是依賴接口Graph的,如果要直接加上3d功能就需要改接口,這個代價比較大,這時適配器派上用場:

        		

延伸閱讀

學習是年輕人改變自己的最好方式-Java培訓,做最負責任的教育,學習改變命運,軟件學習,再就業(yè),大學生如何就業(yè),幫大學生找到好工作,lphotoshop培訓,電腦培訓,電腦維修培訓,移動軟件開發(fā)培訓,網(wǎng)站設計培訓,網(wǎng)站建設培訓學習是年輕人改變自己的最好方式