设计模式(七):桥接模式
優(yōu)點(diǎn):
①?分離抽象接口及其實(shí)現(xiàn)部分。提高了比繼承更好的解決方案。
②?橋接模式提高了系統(tǒng)的可擴(kuò)充性,在兩個(gè)變化維度中任意擴(kuò)展一個(gè)維度,都不需要修改原有系統(tǒng)。
缺點(diǎn):
①?橋接模式的引入會(huì)增加系統(tǒng)的理解與設(shè)計(jì)難度,由于聚合關(guān)聯(lián)關(guān)系建立在抽象層,要求開發(fā)者針對(duì)抽象進(jìn)行設(shè)計(jì)與編程。
②?橋接模式要求正確識(shí)別出系統(tǒng)中兩個(gè)獨(dú)立變化的維度,因此其使用范圍具有一定的局限性。
適用范圍:
①?系統(tǒng)需要在構(gòu)件的抽象化角色和具體化角色之間增加更多的靈活性
②?對(duì)于那些不希望使用繼承或因?yàn)槎鄬哟卫^承導(dǎo)致系統(tǒng)類的個(gè)數(shù)急劇增加的系統(tǒng),橋接模式尤為適用。
?
客戶端:
Color white = new White();? //創(chuàng)建顏色(白色)
Shape square = new Square();? //創(chuàng)建圖形(正方形)
square.setColor(white);? //為圖形設(shè)置顏色
square.draw();? //打印圖形 :白色的長(zhǎng)方形
一句話概括:將抽象部分與它的實(shí)現(xiàn)部分分離,使它們都可以獨(dú)立地變化
?
/*** Shape (包含Color屬性、draw()方法(調(diào)用Color的方法);) Color (含上色方法 bePaint(String shape);)* Circle Rectangle square White Gray Black*/?
轉(zhuǎn)載于:https://www.cnblogs.com/shushengyou/p/10221371.html
總結(jié)
以上是生活随笔為你收集整理的设计模式(七):桥接模式的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 构建良好的Windows程序
- 下一篇: Kafka(1)-概述