橋接模式(Bridge Pattern,橋梁模式)
1. 概念
Decouple an abstraction from its implementation so that the two can vary independently.
將抽象和實現(xiàn)解耦茶袒,使得兩者可以獨立的變化溯壶。
2. 應(yīng)用場景 --比如JDBC驅(qū)動器
橋梁模式在Java應(yīng)用中的一個非常典型的例子就是JDBC驅(qū)動器。JDBC為所有的關(guān)系型數(shù)據(jù)庫提供一個通用的界面圃郊。一個應(yīng)用系統(tǒng)動態(tài)地選擇一個合適的驅(qū)動器价涝,然后通過驅(qū)動器向數(shù)據(jù)庫引擎發(fā)出指令。這個過程就是將抽象角色的行為委派給實現(xiàn)角色的過程持舆。
相關(guān)概念:JDBC(Java?DataBase?Connectivity):是Java和數(shù)據(jù)庫之間的一個橋梁色瘩,是一個規(guī)范而不是一個實現(xiàn),能夠執(zhí)行SQL語句逸寓。它由一組用Java語言編寫的類和接口組成居兆。各種不同類型的數(shù)據(jù)庫都有相應(yīng)的實現(xiàn)。
3. 優(yōu)點
把抽象部分和具體部分分離開來席覆,從而使得抽象部分和具體部分都可以獨立地擴展史辙。
對于應(yīng)用程序而言,只要選用不同的驅(qū)動,就可以讓程序操作不同的數(shù)據(jù)庫聊倔,而無需更改應(yīng)用程序晦毙,從而實現(xiàn)在不同的數(shù)據(jù)庫上移植;對于驅(qū)動程序而言耙蔑,為數(shù)據(jù)庫實現(xiàn)不同的驅(qū)動程序见妒,并不會影響應(yīng)用程序。
4. 缺點
5. 代碼實踐:
JDK:?
??AWT (提供了抽象層映射于實際的操作系統(tǒng))
?JDBC
Android:?TBD