設計模式之禪之設計模式 橋梁模式

2021-09-22 17:15:30 字數 2450 閱讀 9536

1

package

com.yeepay.sxf.template24;

2/**

3*【 實現化角色】

4*相當於不同的業務邏輯,抽象出共有行為5*

6* 產品類7*

@author

sxf8*9

*/10

public

abstract

class

product

view code

房子產品實現

1

package

com.yeepay.sxf.template24;

2/**

【 實現化角色】

3* 具體的實現化角色的實現動作

4* 房子產品5*

@author

sxf6*7

*/8public

class housepro extends

product

1415

@override

16public

void

beselled()

1920

21 }

view code

ipad產品實現

1

package

com.yeepay.sxf.template24;

2/**

【 實現化角色】

3* 具體的實現化角色的實現動作

4* ipad產品5*

@author

sxf6*7

*/8public

class ipad extends

product

1415

@override

16public

void

beselled()

1920

21 }

view code

公司抽象

1

package

com.yeepay.sxf.template24;

2/**

3* 【抽象化角色】

4* 內部依賴實現化角色產品5*

6* 7* 公司和產品。

8* 有的公司只專注乙個產品

9* 有的山寨公司可以生產多個產品

10*

@author

sxf11*12

*/13

public

abstract

class

corp

20//

公司是幹什麼的,賺錢行為

21public

void

makemoney()

27 }

view code

房地產公司實現

1

package

com.yeepay.sxf.template24;

2/**

3* 房地產公司4*

5* 只專注蓋房子,買房子的公司6*

@author

sxf7*8

*/9public

class housecorpimpl extends

corp

1819

/**20

* 呼叫父類,公司的抽象行為

21*/

22@override

23public

void

makemoney()

2627

28 }

view code

山寨公司,可以根據市場熱度,隨便生產品的公司

1

package

com.yeepay.sxf.template24;

2/**

3* 山寨公司

4* 可以生產任意產品,並進行銷售5*

@author

sxf6*7

*/8public

class shanzhaicompany extends

corp

1718

/**19

* 公司在賺錢的行為上是不變的

20*/

21@override

22public

void

makemoney()

2526

27 }

view code

客戶端測試

1

package

com.yeepay.sxf.template24;

2/**

3* 客戶端測試4*

@author

sxf5*6

*/7public

class

clienttest

32 }

view code

《設計模式之禪》之橋梁模式

橋梁模式也叫橋接模式,是乙個比較簡單的模式,其定義如下 將抽象和實現解耦,使得兩者可以獨立地變化。abstraction 抽象化角色 它的主頁職責是定義出該角色的行為,同時儲存乙個對實現畫角色的引用,該角色一般是抽象類。implementor 實現化角色 它是介面或者抽象類,定義角色必需的行為和屬性...

設計模式之橋梁模式

其實大家都是朋友,也不能人人都像小明那麼勢利吧。小剛就做的比較好,一打眼就知道誰是窮人誰又是富人了。不過沒關係窮人有窮人的玩法富人有富人的玩法嘛 這段邏輯用 怎麼實現?首先是乙個抽象的朋友 朋友在這裡充當了實現者角色 public abstract class friend 下來朋友裡有富有的有貧窮...

設計模式之橋梁模式

場景描述 1 在系統設計時,發現類的繼承有n層時,但不能確定是否會更改繼承來的共性,可以考慮使用橋梁模式。2 類圖描述 橋梁模式是抽象和實現的解耦,使得兩者可以獨立地變化。3 程式實現舉例 c using system using system.collections.generic using s...