更新時(shí)間:2017-05-17 來(lái)源:web前端培訓(xùn)學(xué)院 瀏覽量:
1 2 3 4 5 6 7 8 9 |
const a = document.createElement("a"); a.innerHTML = "www.google.com"; a.href = "//www.google.com"; a.style.position = "absolute"; a.style.top = 100; a.onclick = function(){ console.log("google"); } document.body.appendChild(a); |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
function doCss(a) { a.style.position = "absolute"; a.style.top = 100; } function doEvent(a) { a.onclick = function(){ alert("google"); } } function doAttribute(a){ a.innerHTML = "www.google.com"; a.href = "//www.google.com"; } const a = document.createElement("a"); doCss(a); doEvent(a); doAttribute(a) document.body.appendChild(a); |
1 2 3 4 5 6 7 8 |
<html> <head> <link href="style.css" rel="stylesheet" /> </head> <body> <script src="bundle.js" ></script> </body> </html> |
1 2 3 4 5 6 7 8 9 10 11 |
`購(gòu)買蘋果按鈕`綁定事件如下: 1.int 蘋果數(shù)變量 + 1; 2.顯示蘋果數(shù)控件的值 = 蘋果數(shù)變量; `購(gòu)買梨按鈕`綁定事件如下: 1.int 梨數(shù)變量 + 1; 2.顯示梨數(shù)控件的值 = 梨數(shù)變量; ...`吃蘋果` ...`吃梨` |
1 2 3 4 5 |
`購(gòu)買蘋果按鈕`綁定事件如下: 1.int 蘋果數(shù)變量 + 1; 2.int 總和變量 = 蘋果數(shù)變量 + 梨數(shù)變量; 2.顯示蘋果數(shù)控件的值 = 蘋果數(shù)變量; 3.顯示總和控件的值 = 總和變量; |
這次 程序員B為了人身安全,提前把 get/set 接口發(fā)布到了 wiki上。。
于是 總和控件的值 = 總和變量 這行代碼出現(xiàn)了 4次。
產(chǎn)品存在的意義,就是將程序狗虐到極致:
于是需求改成了這樣:
只是刪了一行。
于是 4個(gè)函數(shù)中所有相關(guān)代碼都被刪除。。。 共影響 4行代碼。。
段子講完了,其核心問(wèn)題在于,按照事件進(jìn)行的業(yè)務(wù)模塊劃分,有時(shí)候是不合理的,事件是用戶行為的入口,但不是程序邏輯的入口。 一個(gè)button的click就可能橫跨N個(gè)領(lǐng)域, 需要N個(gè)人來(lái)進(jìn)行協(xié)作, 這部分邏輯到最后還是會(huì)耦合在一起,通過(guò)各種函數(shù)封裝進(jìn)行解耦,無(wú)疑是揚(yáng)湯止沸,而我們需要的是釜底抽薪
(第一節(jié)結(jié)束)
本文版權(quán)歸黑馬程序員web前端開(kāi)發(fā)學(xué)院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)注明作者出處,謝謝!
作者:黑馬程序員web前端培訓(xùn)學(xué)院;
首發(fā):http://ko1818.cn/news/web.html
前端培訓(xùn)之淺談框架模式(MVC MVP MVVM)(二)
2017-05-17前端培訓(xùn)之lazy.js 惰性求值實(shí)現(xiàn)分析
2017-05-17WEB前端培訓(xùn)之javaScript 計(jì)算網(wǎng)頁(yè)內(nèi)容的寬與高 (瀏覽器的標(biāo)準(zhǔn)模式與怪異模式)二
2017-04-14WEB前端培訓(xùn)之javaScript 計(jì)算網(wǎng)頁(yè)內(nèi)容的寬與高 (瀏覽器的標(biāo)準(zhǔn)模式與怪異模式)一
2017-04-14WEB前端培訓(xùn)之javascript常用正則
2017-04-14WEB前端培訓(xùn)之HttpServletRequestWrapper 用法
2017-04-14