无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

【D1n910】《JavaScript 設(shè)計模式》第13章城市間的公路——橋接模式

2021-02-19 21:43 作者:愛交作業(yè)的D1N910  | 我要投稿

正常操作,正常分析,大家好,我是D1n910。


今天繼續(xù)來學(xué)習(xí) 《JavaScript 設(shè)計模式》的第三篇 結(jié)構(gòu)型設(shè)計模式


這是一個連續(xù)的讀書筆記,所以如果你之前的內(nèi)容沒有看的話,可以去看看。


下面是第十章的展覽,里面其實(shí)鏈接好了所有1~10的專欄內(nèi)容,所以直接戳下面的專欄鏈接就可以快速到達(dá)啦。


其他后續(xù)章節(jié)


這里再次感謝 《Javascript 設(shè)計模式》及其作者 張榮銘,專欄內(nèi)容是在它的基礎(chǔ)上生成的。


現(xiàn)在會覺得很多設(shè)計模式離我們有點(diǎn)遙遠(yuǎn),是因?yàn)槲覀儸F(xiàn)在都在用大佬寫好的框架吧,很多設(shè)計模式都包含在框架里了。


第三篇 結(jié)構(gòu)型設(shè)計模式

結(jié)構(gòu)型設(shè)計模式關(guān)注于如何將類或者對象組合成更大、更復(fù)雜的結(jié)構(gòu),以簡化設(shè)計。


第 13?章 城市間的公路 —— 橋接模式

橋接模式(Bridge):在系統(tǒng)沿著多個唯獨(dú)變化的同時,又不增加其復(fù)雜度并達(dá)到解耦。

橋接模式最主要的特點(diǎn)就是將實(shí)現(xiàn)層(如元素綁定的事件)與抽象層(如修飾頁面 UI 邏輯)解耦分離,可以兩者獨(dú)立變化。

這樣可能會造成開發(fā)成本的增加,也可能會在性能上有影響。


13.1、添加事件交互(P89)

?頁面上有三個元素,要求鼠標(biāo)滑過會改變樣式,同時對于數(shù)字類型的來說,只改變數(shù)字內(nèi)的樣式。


一不小心就寫成下面這種樣式:

var span = document.getElementsByTagName('span');


span[0].onmouseover = function() {

? ?this.style.color = 'red';

? ?this.style.backgroundColor = '#ddd';

}


span[1].onmouseover = function() {

? ?this.getElementsByTagName('strong')[0].style.color = 'red';

? ?this.getElementsByTagName('strong')[0].style.backgroundColor = '#ddd';

}


span[2].onmouseover = function() {

? ?this.getElementsByTagName('strong')[0].style.color = 'red';

? ?this.getElementsByTagName('strong')[0].style.backgroundColor = '#ddd';

}


13.2、提取共同點(diǎn)(P90)

我們可以把上面的共同點(diǎn)抽象提取出來。


function changeColor(dom, color, bgColor) {

? ?dom.style.color = color;

? ?dom.style.backgroundColor = bgColor;

}


13.3、事件與業(yè)務(wù)邏輯之間的橋梁(P90)

13.2 提出以后,我們就可以用到之前的內(nèi)容里了。


span[0].onmouseover = function() {

changeColor(this, 'red', '#ddd')

}


13.4、多元化對象(p91)

橋接模式的場景還有很多,就比如游戲里的精靈,不同精靈都可以改變位置、說話,這些方法都可以抽象出來使用。


本章 End,學(xué)習(xí)進(jìn)度 13/40,加油加油


D1n910 于2021年02月19日 21:42 在福永



【D1n910】《JavaScript 設(shè)計模式》第13章城市間的公路——橋接模式的評論 (共 條)

分享到微博請遵守國家法律
呼和浩特市| 图木舒克市| 徐闻县| 临洮县| 铅山县| 孝感市| 江西省| 榆树市| 东城区| 揭阳市| 樟树市| 伊金霍洛旗| 中牟县| 于田县| 台山市| 忻州市| 班戈县| 沈丘县| 平顺县| 六盘水市| 深圳市| 扶余县| 金昌市| 西华县| 南雄市| 田阳县| 阿荣旗| 巫山县| 兴隆县| 阳新县| 阿拉尔市| 临沂市| 临泽县| 五常市| 资源县| 涿州市| 济宁市| 荃湾区| 六盘水市| 江门市| 沭阳县|