上一篇文章介紹了耦合和內聚的基本概念,本文將介紹一些簡單的經常使用的解除耦合的操做!segmentfault
在平常的開發中,爲了快速完成功能,咱們經常會直接訪問其餘模塊的成員變量,雖然很方便了完成了這次工做,但可能留下很多後患:設計模式
1、產生了內容耦合,這是耦合中耦合度最高的一類; 2、外部模塊可直接讀取修改本模塊成員變量,成員變量的改動,對本模塊一定產生影響,遇到問題,很難查找緣由(看成爲庫提供給外部使用時將更加困難); 3、沒法控制成員變量寫入權限;
正確方式:安全
1、儘可能避免使用public成員變量,儘可能使用private成員變量; 2、成員變量經過set;get;方法獲取,這樣能夠優先控制其餘模塊訪問權限,同時還能夠添加數據健壯性檢測、數據保護及追蹤等機制,更安全、更易差錯。
正確的習慣應該爲:函數
1、想辦法儘量使用數據耦合的方式,(及函數的參數僅爲簡單的變量),且函數內部不訪問任何成員變量,函數的結果只和輸入參數有關,耦合度極地,很容易查錯; 2、若是存在控制耦合,要儘可能把控制標記放在頂層函數裏,避免傳遞形成耦合加深,有控制耦合的函數,要作好簡化,必定要將每種處理邏輯單獨封裝,爲每一種狀況提供單獨的函數處理,使其更清晰,減小犯錯概率; 3、若是一個函數的內部訪問到的都是另外一個類中的數據,那麼它應該挪到另外一個類中; 4、對函數作好分類整理,#region能夠幫助你更快的找到你想要的函數; 5、函數開發要儘可能使用功能內聚和順序內聚,避免耦合內聚;
未完待續...
持續更新...設計
上一篇:關於解耦的研究(一)之概念梳理
下一篇:關於解耦的研究(三)設計模式與解耦code