日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

java 之 桥接模式(大话设计模式)

發布時間:2024/1/17 asp.net 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 之 桥接模式(大话设计模式) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

橋接模式定義為:將抽象部分與它的實現部分分離,使它們都可以獨立的變化。

第一次看設計模式的時候,不是很清楚這句話的意思,隨著筆者的不斷開發,發現有一種場景,

繼承關系多了,不易于維護父類,而筆者認為橋接模式的出現很好的解決了這個問題。用聚合解決繼承的父類難維護性。先看下橋接模式設計圖。

大話設計模式-類圖

以上類圖很簡單易懂,先看下筆者的demo

/*** 操作接口*/ public interface IOperate {public void operate(); } /*** 品牌父類*/ public class Brand {private IOperate operate;public Brand(IOperate operate) {super();this.operate = operate;}public void operate() {operate.operate();}public IOperate getOperate() {return operate;}public void setOperate(IOperate operate) {this.operate = operate;} } /*** 玩游戲*/ public class Game implements IOperate{@Overridepublic void operate() {System.out.println("玩游戲");}} /*** 看通訊錄*/ public class MailList implements IOperate {@Overridepublic void operate() {System.out.println("看通訊錄");}} /*** M品牌*/ public class MBrand extends Brand{public MBrand(IOperate operate) {super(operate);}} /*** N品牌*/ public class NBrand extends Brand{public NBrand(IOperate operate) {super(operate);}} /*** 客戶端*/ public class Test {public static void main(String[] args) {IOperate game = new Game();IOperate mailList = new MailList();Brand nBrand = new NBrand(game);nBrand.operate();nBrand = new NBrand(mailList);nBrand.operate();Brand mBrand = new MBrand(game);mBrand.operate();mBrand = new MBrand(mailList);mBrand.operate();} }

?

運行結果如下

玩游戲 看通訊錄 玩游戲 看通訊錄

?

比較好理解,不過筆者認為我們在實際開發中,可能很多地方會用到橋接模式,只是大家都忘記這個模式,而用繼承去實現。

還是那句老話,理解其核心思想,拒絕生搬硬套。希望能幫助學習橋接模式的小伙伴。

轉載于:https://www.cnblogs.com/zhuxiansheng/p/8059069.html

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的java 之 桥接模式(大话设计模式)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。