亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

javascript設計模式 ? 橋接模式原理與應用實例分析

瀏覽:2日期:2023-11-04 11:44:35

本文實例講述了javascript設計模式 ? 橋接模式原理與應用。分享給大家供大家參考,具體如下:

介紹:如果軟件系統中某個類存在兩個或多個獨立變化的維度,可以通過橋接模式將這些維度分離出來,使兩者可以獨立擴展,讓系統更符合單一職責原則。

定義:將抽象部分與其實現部分分離,使他們都可以獨立的變化。它是一種對象結構型模式,又稱為柄體模式或接口模式。

場景:我們做一個簡單的畫圓,將圓的半徑和顏色這兩個維度進行分離,使每一個維度都可以單獨擴展,很多同學都說這么簡單一個需求我5行代碼就實現了。為什么寫這么??亂惶住?br>我們這里分享的是設計思想,當你的系統足夠復雜時需要用什么樣的方式進行優化。作為示例,也只是用最小的例子把道理講明白,不是說所有類似的地方就必須這么寫。什么樣的場景需要什么樣的模式,需不需要用模式需要你自己去考量。

示例:

var CircularColor = {};CircularColor.redCircular = function(){ this.getColor = function(){ return ’red’; }}CircularColor.greenCircular = function(){ this.getColor = function(){ return ’green’; }} var CircularRadius = {};CircularRadius.small = function(){ this.x = this.y = 0; this.radius = 5; this.color = null; this.setColor = function(circularColor){ this.color = circularColor.getColor(); } this.draw = function(){ console.log(’畫一個小圓!顏色:’ + this.color + ’ 原點坐標:x:’ + this.x + ’ y:’ + this.y + ’ 半徑:’ + this.radius); }}CircularRadius.big = function(){ this.x = this.y = 0; this.radius = 20; this.color = null; this.setColor = function(circularColor){ this.color = circularColor.getColor(); } this.draw = function(){ console.log(’畫一個大圓!顏色:’ + this.color + ’ 原點坐標:x:’ + this.x + ’ y:’ + this.y + ’ 半徑:’ + this.radius); }} var color = new CircularColor.redCircular();var radius = new CircularRadius.big();radius.setColor(color);radius.draw();//畫一個大圓!顏色:red 原點坐標:x:0 y:0 半徑:20

這節需要說一個點,橋接模式在java的介紹里,獨立之后的維度是在抽象層會建立關聯關系,js沒有抽象層,所以兩個獨立維度通過一個setColor方法建立關聯關系。

橋接模式總結:

優點:

* 橋接模式提高了系統的可擴展性,在兩個變化維度中任意擴展一個維度,都不需要修改原有系統,符合開關原則。* 多數情況下,橋接模式可以取代多層集成方案。* 分離接口及其實現部分,使得實現可以沿著各自的維度來變化。

缺點:

* 橋接模式的使用會增加系統的理解與設計難度。* 橋接模式要求正確識別出系統中兩個獨立變化的維度,因此其使用范圍具有一定的局限性。

適用場景:

* 一個類存在兩個或多個獨立變化的維度,且這些維度都需要獨立進行擴展。

感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運行工具:http://tools.jb51.net/code/HtmlJsRun測試上述代碼運行效果。

更多關于JavaScript相關內容感興趣的讀者可查看本站專題:《javascript面向對象入門教程》、《JavaScript錯誤與調試技巧總結》、《JavaScript數據結構與算法技巧總結》、《JavaScript遍歷算法與技巧總結》及《JavaScript數學運算用法總結》

希望本文所述對大家JavaScript程序設計有所幫助。

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 偷窥自拍清纯唯美 | 一级毛片不卡免费看老司机 | 中文一级黄色片 | 亚洲国产情侣一区二区三区 | 亚洲精品区 | 成人午夜电影免费完整在线看 | 国产精品免费aⅴ片在线观看 | 麻豆精品在线 | 极品蜜桃臀美女啪啪 | 精品欧美亚洲韩国日本久久 | 日韩a级毛片免费视频 | 91最新在线 | 免费一级欧美大片视频在线 | 国内真实迷j下药在线观看 国内真实愉拍系列情侣 | 在线视频综合视频免费观看 | 国产精品亚洲专一区二区三区 | 国产精品青草久久久久福利99 | 中文字幕日韩精品亚洲七区 | 美国大黄一片免费看 | 欧美黄网站免费观看 | 日韩一区二区免费看 | 日韩精品久久久毛片一区二区 | 中文字幕一区二区在线视频 | 久久r这里只有精品 | 成人网免费看 | 一级毛片aaaaaa免费看 | 成年女人毛片免费视频永久vip | 黄色小视频在线观看免费 | 青青草这里只有精品 | 一级不卡毛片 | 成年女美黄网站大全免费播放 | 亚洲国产女人aaa毛片在线 | 月婷婷色狠狠 | 国产精品成人麻豆专区 | bbixx在线| 免费在线观看小视频 | 国产农村一一级特黄毛片 | 久久草在线视频 | 亚洲特黄| 在线观看免费情网站大全 | 91成人高清在线播放 |