小A:“很多時(shí)候經(jīng)常容易把橋接模式和適配器模式弄混。那什麼時(shí)候用橋接,什麼時(shí)候用適配器呢?有哪些共同點(diǎn),又有哪些不同點(diǎn)哩?”
大B:“共同點(diǎn):橋接和適配器都是讓兩個(gè)東西配合工作不同點(diǎn):出發(fā)點(diǎn)不同。適配器:改變已有的兩個(gè)接口,讓他們相容。橋接模式:分離抽象化和實(shí)現(xiàn),使兩者的接口可以不同,目的是分離。所以說(shuō),如果你拿到兩個(gè)已有模塊,想讓他們同時(shí)工作,那麼你使用適配器。如果你還什麼都沒(méi)有,但是想分開(kāi)實(shí)現(xiàn),那麼橋接是一個(gè)選擇。橋接是先有橋,纔有兩端的東西,適配是先有兩邊的東西,纔有適配器,橋接是在橋好了之後,兩邊的東西還可以變化。例如遊戲手柄,就象個(gè)橋,它把你的任何操作轉(zhuǎn)化成指令。雖然,你可以任何操作組合,但是你的操作脫不開(kāi)上下左右,a,b,選擇,確定。”
小A:“爲(wèi)什麼啊?”
大B:“JRE本身就是一個(gè)就是一個(gè)很好的橋,先寫(xiě)好在linux上執(zhí)行的JRE,再寫(xiě)好可以在windows下執(zhí)行的JRE,這樣無(wú)論什麼樣的Java程序,只要配和相應(yīng)的JRE就能在Linux或者Windows上運(yùn)行。兩個(gè)JRE並沒(méi)有限定你寫(xiě)什麼樣的程序,但要求你必須用Java來(lái)寫(xiě)。”