public abstract class product
public class house extends product
@override
public void beselled() }
public class clothes extends product
@override
public void beselled()
} public abstract class corp
public void makemoney() }
public class housecorp extends corp
//房地產公司很high了,賺錢,計算利潤
public void makemoney()
} public class shanzhaicorp extends corp
public void makemoney()
}
測試用例
public class bridgetest
}
執行結果:
-------房地產公司是這個樣子執行的-------
生產出的房子是這個樣子的...
生產出的房子賣出去了...
房地產公司賺大錢了...
-------山寨公司是這樣執行的-------
生產出的衣服是這個樣子的...
生產出的衣服賣出去了...
我賺錢呀...
橋方式更多的是提示我們如何組織物件導向設計的分解方式,稱為三步法;
第一步:把依賴具體變成依賴抽象上例中的corp和product都是抽象的,後來corp依賴product;
第二步:如果同時存在多個正交的變化因素,就順次展開,逐個抽象。
每次將乙個而且只有乙個「變化因素」進行抽象,將依賴於「n個變化因素」的複雜性剝減為依賴於「1個抽象+(n-1)個變化因素」的複雜性,然後不斷抽象,直至將n個變化因素依賴關係全部變為n個抽象物件間「乙個接乙個」的依賴關係
第三步:為每個抽象因素提供具體實現
從本質上看,橋模式解決的是對抽象中正交變化因素的進一步分解及銜接
設計模式之橋接模式(八)
設計模式之橋接模式 一 引言 每個人都有吃飯睡覺的行為,這時我們可以抽象出來乙個人型別,然後讓每個人去繼承人型別,這時,每增加乙個人,我們只需擴充套件乙個子類就可以了,但是,人型別需要增加行為時,比如增加乙個玩手機的行為,我們只許在人型別中擴充套件玩手機這乙個方法,但是對於子類來說,如果這時子類數量...
設計模式 橋接模式
橋接模式 多維 如車行駛在路上。車分各種品牌 各種型號各種排氣 道路分街道 告訴 山地等 駕駛員分男女 為了減少類的數量。如果按照繼承實現會照成大量冗餘的類,類的數量會相當之大 package com.cn.duduyu.bridgepattern.car public abstract class...
設計模式 橋接模式
設計模式 橋接模式 橋接模式 bridge pattern 對應英文名稱可以是bridge或者bradge任意一種都可以。在軟體系統中,某些型別由於自身的邏輯,它具有兩個或多個維度的變化,那麼如何應對這種 多維度的變化 如何利用物件導向的技術來使得該型別能夠輕鬆的沿著多個方向進行變化,而又不引入額外...