摘要:最近在看設計模式和開發實踐里面說到設計模式的主題總是把不變的事物和變化的事物分離開這就涉及到了解耦耦合是一個很寬泛的概念在此只為記錄在中出現的各種類型的耦合數據耦合一個模塊訪問另一個模塊時彼此之間是通過簡單的數據參數不是控制參數公共數據結構
最近在看JavaScript設計模式和開發實踐,里面說到"設計模式的主題總是把不變的事物和變化的事物分離開",這就涉及到了解耦.耦合是一個很寬泛的概念,在此只為記錄在js中出現的各種類型的耦合.
數據耦合:一個模塊訪問另一個模塊時,彼此之間是通過簡單的數據參數(不是控制參數/公共數據結構/外部變量)來交換輸入輸出信息的.網上搜到的解釋,不是很懂!
function create(id) { var box = document.createElement("div"); box.setAttribute("id", id); return box; } function append(id) { var box = create(id); document.body.appendChild(box); }
此處的耦合是因為append函數訪問了create函數.
解決方案:
create函數不變, function append(obj) { document.body.appendChild(obj); } var box = create(id); append(box);
控制耦合:如果一個模塊通過傳送開關/標志/名字等控制信息,明顯地控制選擇另一模塊的功能,就是控制耦合.網上搜到的解釋,不是很懂!
var y = 1; function a(x) { if (x) { y = 1; } else { y = 0; } } function b() { if (y == 1) { console.log("y is 1"); } else { console.log("y is 0"); } }
解決方案:
1.將被調用模塊內的判定上移到調用模塊中進行
干掉var y = 1;和函數b function a(x) { if (x) { console.log("y is 1"); } else { console.log("y is 0"); } }
2.被調用模塊分解成若干單一功能的模塊
內容耦合:當一個模塊直接修改或者操作另一個模塊的數據,或者直接轉入另一個模塊時,就發生了內容耦合.此時,被修改的模塊完全依賴于修改它的模塊.額額額,下面的例子和數據耦合的例子有啥不同???
function a() { return "kk"; } function b() { alert(a()); } b();
解決方案:
a函數不變 function b(p1) { alert(p1); } b(a());
還有 標記耦合 非直接耦合 外部耦合 公共耦合,這些都沒有在網上找到合適的js的例子,希望大家補充!
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/81832.html
摘要:模塊內聚和耦合的基礎知識是軟件評測師考試的重要考點,經常出現在上午場的客觀選擇題當中。外部耦合模塊間通過軟件之外的環境聯結如將模塊耦合到特定的設備格式通信協議上時稱為外部耦合。這種模塊之間的耦合稱之為內容耦合。 模塊內聚和耦合的基礎知識是軟件評測師考試的重要考點,經常出現在上午場的客觀選擇題當中。模塊獨立是指模塊只完成系統...
摘要:解釋模塊耦合性的含義,對不同的耦合舉例說明耦合性,也叫耦合度,是對模塊間關聯程度的度量。模塊間的耦合度是指模塊之間的依賴關系,包括控制關系調用關系數據傳遞關系。軟件設計中通常用耦合度和內聚度作為衡量模塊獨立程度的標準。 ...
摘要:由于第四章太稀松平常了于是就直接跳到第五章了這里我就草草的說一下第四章的幾個點吧在嚴格模式的應用下不推薦將用在全局作用域中相等推薦盡量使用和守則如果是在沒有別的方法來完成當前任務這時可以使用原始包裝類型不推薦創建類型時用等創建類型從這一章節 由于第四章太稀松平常了, 于是就直接跳到第五章了.這里我就草草的說一下第四章的幾個點吧 在嚴格模式的應用下 不推薦將use strict;用在全...
摘要:二樂高式松耦合架構落地快速實現需求與需求實現越來越慢的矛盾如何解決最終白山的產品架構聚焦在解耦上,方便平臺快速迭代,減少系統間依賴程度,打通無關聯項目,為運營互動提供高效支持,確保服務質量。 作者:王康 白山聯合創始人兼產品副總裁。 王康先生主要負責產品的完善與升級、產品開發流程把控及進度協調、產品設計改進及定期優化、產品全生命周期管理等工作。他帶領團隊實現白山首款產品CDN-X的多項...
摘要:二樂高式松耦合架構落地快速實現需求與需求實現越來越慢的矛盾如何解決最終白山的產品架構聚焦在解耦上,方便平臺快速迭代,減少系統間依賴程度,打通無關聯項目,為運營互動提供高效支持,確保服務質量。 作者:王康 白山聯合創始人兼產品副總裁。 王康先生主要負責產品的完善與升級、產品開發流程把控及進度協調、產品設計改進及定期優化、產品全生命周期管理等工作。他帶領團隊實現白山首款產品CDN-X的多項...
閱讀 3627·2023-04-26 02:32
閱讀 3905·2021-11-23 10:05
閱讀 2291·2021-10-08 10:04
閱讀 2711·2021-09-22 16:06
閱讀 3612·2021-09-22 15:27
閱讀 764·2019-08-30 15:54
閱讀 1698·2019-08-30 13:50
閱讀 2704·2019-08-29 13:56