今天看了下設計模式中的橋接模式,發現還是很有趣味的,筆記之。舉個例子,比如gg要約會mm,不同的mm喜歡喜歡不同的地點,
比如rose喜歡去電影院,kitty喜歡去西餐廳,而tom,peter 都是gg,他們要分別去約會這兩位mm了,而約會的地點,全部由mm決定
首先是mm介面
package com.liao.bridge1;
public inte***ce mm
rose:
package com.liao.bridge1;
public class rose implements mm
}kitty:
package com.liao.bridge1;
public class kitty implements mm
}gg的介面
package com.liao.bridge1;
public abstract class gg
else if (girl.equals("kitty"))
//預設約rose
else}}
tom:
package com.liao.bridge1;
public class tom extends gg
public void dateplace()
}peter:
package com.liao.bridge1;
public class peter extends gg
public void dateplace()
}主程式
package com.liao.bridge1;
public class client
}執行起來
我是tom,我想約rose
我是rose,我喜歡去電影院
我是tom,我想約kitty
我是kitty,我喜歡去西餐廳吃西餐
我是peter,我想約rose
我是rose,我喜歡去電影院
我是peter,我想約kitty
我是kitty,我喜歡去西餐廳吃西餐
可以看到橋接模式還是很不錯的哦,在實際應用中,比如乙個程式,有三類不同的功能,而這個程式需要分別在不同的操作平台執行的話,可以大大減少子類的數量哦,當然對橋接模式更深的討論可以參見園子裡其他朋友的文章
Java設計模式 橋接模式
橋接模式是一種結構型的設計模式,主要是特點是將抽象部分與實現部分分離開來,從而能夠進行獨自的變化。在橋接模式中,所謂的橋,個人理解是在抽象層中,將介面聯絡到乙個抽象類中,更確切的說,是依賴關係。橋接模式主要適用場景是,某個物件需要從兩個或者多個 一般是兩個 維度進行描述或者操作的時候,能夠簡潔的進行...
設計模式之橋接模式
public class test 兩個維度 乙個是具體產品,如狗 豬 乙個是抽象產品,如溫順的動物 冷酷的動物 排列組合 如溫順的狗 冷酷的豬等 abstract class animal 該橋接類的引入是關鍵 abstract class animalbridge extends animal ...
設計模式之 橋接模式
今天來學習橋接模式,在我們日常生活中,有很多的事物是可以 多維度 的變化的,比如我們去吃麵條,有雞絲面和牛肉麵兩種,每一種面又分為辣味的和不辣的,而且每種面可能會分為大碗小碗的。很多事物能夠變化的維度不止一種,甚至數十種,那麼我們在 上怎麼應對這些變化呢?每乙個都單獨弄乙個類顯然不是什麼好辦法。那麼...