A.在不影響其他對象的情況下,以動態(tài)、透明的方式給單個對象添加職責(zé) B.處理那些可以撤消的職責(zé) C.客戶程序與抽象類的實現(xiàn)部分之間存在著很大的依賴性 D.當(dāng)不能采用生成子類的方法進(jìn)行擴充時。一種情況是,可能有大量獨立的擴展,為支持每一種組合將產(chǎn)生大量的子類,使得子類數(shù)目呈爆炸性增長。另一種情況可能是因為類定義被隱藏,或類定義不能用于生成子類
A.你想使用一個已經(jīng)存在的類,而它的接口不符合你的需求 B.你想表示對象的部分-整體層次結(jié)構(gòu) C.當(dāng)一個類的實例只能有幾個不同狀態(tài)組合中的一種時 D.一個對象的行為取決于它的狀態(tài),并且它必須在運行時刻根據(jù)狀態(tài)改變它的行為
A.你不希望在抽象和它的實現(xiàn)部分之間有一個固定的綁定關(guān)系。例如這種情況可能是因為,在程序運行時刻實現(xiàn)部分應(yīng)可以被選擇或者切換 B.類的抽象以及它的實現(xiàn)都應(yīng)該可以通過生成子類的方法加以擴充。這時Bridge模式使你可以對不同的抽象接口和實現(xiàn)部分進(jìn)行組合,并分別對它們進(jìn)行擴充 C.對一個抽象的實現(xiàn)部分的修改應(yīng)對客戶不產(chǎn)生影響,即客戶的代碼不必重新編譯 D.客戶程序與抽象類的實現(xiàn)部分之間存在著很大的依賴性