代码坏味道 - 耦合
生活随笔
收集整理的這篇文章主要介紹了
代码坏味道 - 耦合
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
耦合
Feature Envy
癥狀:
?方法訪問其他類的對象的屬性,而不是自己的。
?
成因:
最常見的問題就是由數(shù)據(jù)類引起的。
治療:
多數(shù)時候,同時需要做出改變的code 應(yīng)該在一起。
?
收益:
?
不合適的親密
癥狀:
一個類有大量的訪問另一個類的屬性和方法,類之間的聯(lián)系千絲萬縷。
成因:
?
治療:
變雙向依賴為單向
單點接觸
收益:
?
消息鏈
癥狀:
a.b().c().d()
有什么不好嗎? 客戶對這關(guān)系知道的太多了,修改關(guān)系就意味著修改所有客戶。
成因:
?
治療:
隱藏委托,變單點接觸。a 通過b 找到c ,調(diào)用c 的方法,改成 a調(diào)用b 的方法。?
考慮是否可以把方法移動到客戶端,客戶自足。
收益:
減少依賴
中間人
癥狀:
一個類僅僅就是為了把行為委托給其他類,那它沒有存在的必要。
成因:
過渡使用去除消息鏈的方法的結(jié)果;
治療:
如果一個類的大多數(shù)方法都委托給其他類,那就移調(diào)中間人,采用消息鏈。?
收益:
不完整的庫類 ?--?
這也是 壞味道?
癥狀:
庫不能滿足需要,但它又是只讀的。
成因:
?
治療:
在本地添加一個方法,在庫的基礎(chǔ)上實現(xiàn)更多功能;
繼承庫的類
收益:
不用再實現(xiàn)一遍庫里已經(jīng)提供的代碼
轉(zhuǎn)載于:https://www.cnblogs.com/yoogo/p/5243906.html
總結(jié)
以上是生活随笔為你收集整理的代码坏味道 - 耦合的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 移动前端html5 head 头标签
- 下一篇: 微信js sdk 分享 失败 有时候好