电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術(shù)文章
文章詳情頁

javascript設(shè)計模式 ? 橋接模式原理與應(yīng)用實例分析

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

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

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

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

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

示例:

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 + ’ 原點坐標(biāo):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 + ’ 原點坐標(biāo):x:’ + this.x + ’ y:’ + this.y + ’ 半徑:’ + this.radius); }} var color = new CircularColor.redCircular();var radius = new CircularRadius.big();radius.setColor(color);radius.draw();//畫一個大圓!顏色:red 原點坐標(biāo):x:0 y:0 半徑:20

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

橋接模式總結(jié):

優(yōu)點:

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

缺點:

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

適用場景:

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

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

更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《javascript面向?qū)ο笕腴T教程》、《JavaScript錯誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學(xué)運算用法總結(jié)》

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

標(biāo)簽: JavaScript
相關(guān)文章:
主站蜘蛛池模板: 防勒索软件_数据防泄密_Trellix(原McAfee)核心代理商_Trellix(原Fireeye)售后-广州文智信息科技有限公司 | 双杰天平-国产双杰电子天平-美国双杰-常熟双杰仪器 | 车充外壳,车载充电器外壳,车载点烟器外壳,点烟器连接头,旅行充充电器外壳,手机充电器外壳,深圳市华科达塑胶五金有限公司 | 四川实木门_成都实木门 - 蓬溪聚成门业有限公司 | 北京征地律师,征地拆迁律师,专业拆迁律师,北京拆迁律师,征地纠纷律师,征地诉讼律师,征地拆迁补偿,拆迁律师 - 北京凯诺律师事务所 | 西门子伺服电机维修,西门子电源模块维修,西门子驱动模块维修-上海渠利 | 送料机_高速冲床送料机_NC伺服滚轮送料机厂家-东莞市久谐自动化设备有限公司 | 活动策划,舞台搭建,活动策划公司-首选美湖上海活动策划公司 | 防爆电机-高压防爆电机-ybx4电动机厂家-河南省南洋防爆电机有限公司 | 政府园区专业委托招商平台_助力企业选址项目快速落地_东方龙商务集团 | 超声波流量计_流量标准装置生产厂家 _河南盛天精密测控 | 陕西华春网络科技股份有限公司 | 高尔夫球杆_高尔夫果岭_高尔夫用品-深圳市新高品体育用品有限公司 | 镀锌角钢_槽钢_扁钢_圆钢_方矩管厂家_镀锌花纹板-海邦钢铁(天津)有限公司 | 欧必特空气能-商用空气能热水工程,空气能热水器,超低温空气源热泵生产厂家-湖南欧必特空气能公司 | 餐饮小吃技术培训-火锅串串香培训「何小胖培训」_成都点石成金[官网] | 渣土车电机,太阳能跟踪器电机,蜗轮蜗杆减速电机厂家-淄博传强电机 | LED投光灯-工矿灯-led路灯头-工业灯具 - 山东普瑞斯照明科技有限公司 | 平面钻,法兰钻,三维钻-山东兴田阳光智能装备股份有限公司 | PVC地板|PVC塑胶地板|PVC地板厂家|地板胶|防静电地板-无锡腾方装饰材料有限公司-咨询热线:4008-798-128 | 温控器生产厂家-提供温度开关/热保护器定制与批发-惠州市华恺威电子科技有限公司 | 上海质量认证办理中心| 电缆接头_防水接头_电缆防水接头 - 乐清市新豪电气有限公司 | LCD3D打印机|教育|桌面|光固化|FDM3D打印机|3D打印设备-广州造维科技有限公司 | 防爆大气采样器-防爆粉尘采样器-金属粉尘及其化合物采样器-首页|盐城银河科技有限公司 | 齿轮减速机电机一体机_齿轮减速箱加电机一体化-德国BOSERL蜗轮蜗杆减速机电机生产厂家 | 变色龙云 - 打包app_原生app_在线制作平台_短链接_ip查询 | 玻璃钢格栅盖板|玻璃钢盖板|玻璃钢格栅板|树篦子-长沙川皖玻璃钢制品有限公司 | 脉冲布袋除尘器_除尘布袋-泊头市净化除尘设备生产厂家 | 报警器_家用防盗报警器_烟雾报警器_燃气报警器_防盗报警系统厂家-深圳市刻锐智能科技有限公司 | 金属软管_不锈钢金属软管_巩义市润达管道设备制造有限公司 | 云南丰泰挖掘机修理厂-挖掘机维修,翻新,再制造的大型企业-云南丰泰工程机械维修有限公司 | 广域铭岛Geega(际嘉)工业互联网平台-以数字科技引领行业跃迁 | 高低温试验箱-模拟高低温试验箱订制-北京普桑达仪器科技有限公司【官网】 | 上海恒驭仪器有限公司-实验室平板硫化机-小型平板硫化机-全自动平板硫化机 | 环比机械| 北京公积金代办/租房发票/租房备案-北京金鼎源公积金提取服务中心 | 粘度计维修,在线粘度计,二手博勒飞粘度计维修|收购-天津市祥睿科技有限公司 | 制样机-密封锤式破碎机-粉碎机-智能马弗炉-南昌科鑫制样 | 避光流动池-带盖荧光比色皿-生化流动比色皿-宜兴市晶科光学仪器 东莞爱加真空科技有限公司-进口真空镀膜机|真空镀膜设备|Polycold维修厂家 | 深圳天际源广告-形象堆头,企业文化墙,喷绘,门头招牌设计制作专家 |