4 回答

TA貢獻(xiàn)1830條經(jīng)驗(yàn) 獲得超9個(gè)贊
真實(shí)的例子——網(wǎng)站登錄
假如我們正在開發(fā)一個(gè)商城網(wǎng)站,網(wǎng)站里有 header 頭部、nav 導(dǎo)航、消息列表、購物車等模塊。
如果它們和用戶信息模塊產(chǎn)生了強(qiáng)耦合,比如下面這樣 的形式:
login.succ(function(data){
?header.setAvatar( data.avatar); // 設(shè)置 header 模塊的頭像
?nav.setAvatar( data.avatar ); // 設(shè)置導(dǎo)航模塊的頭像
?message.refresh(); // 刷新消息列表
?cart.refresh(); // 刷新購物車列表
});?
等到有一天,項(xiàng)目中又新增了一個(gè)收貨地址管理的模塊,這個(gè)模塊本來是另一個(gè)同事所寫的,在最后部分加上這行代碼:
?login.succ(function( data ){
?header.setAvatar( data.avatar);
?nav.setAvatar( data.avatar );
?message.refresh();
?cart.refresh();
?address.refresh(); // 增加這行代碼
});
我們就會(huì)越來越疲于應(yīng)付這些突如其來的業(yè)務(wù)要求,要么跳槽了事,要么必須來重構(gòu)這些代碼。

TA貢獻(xiàn)1841條經(jīng)驗(yàn) 獲得超3個(gè)贊
比如 Vue
、React
等等框架中
視圖層的輸入能影響到模型層,反之亦然,即雙向綁定
這里的 怎么影響,就是靠訂閱者觀察者,因?yàn)?nbsp;js
沒有 Java
之類語言有的反射能力,只能靠這個(gè)去做一些數(shù)據(jù)綁定的事情。
添加回答
舉報(bào)