定義:一個軟件實體如類缩焦、模塊和函數應該對擴展開放踩衩,對修改關閉。 問題由來:在軟件的生命周期內拱绑,因為變化综芥、升級和維護等原因需要對軟件原有代碼進行修...
定義:一個對象應該對其他對象保持最少的了解。 問題由來:類與類之間的關系越密切猎拨,耦合度越大膀藐,當一個類發(fā)生改變時,對另一個類的影響也越大红省。 解決方...
定義:客戶端不應該依賴它不需要的接口额各;一個類對另一個類的依賴應該建立在最小的接口上。 問題由來:類A通過接口I依賴類B吧恃,類C通過接口I依賴類D虾啦,...
定義:高層模塊不應該依賴低層模塊,二者都應該依賴其抽象痕寓;抽象不應該依賴細節(jié)傲醉;細節(jié)應該依賴抽象。 問題由來:類A直接依賴類B呻率,假如要將類A改為依賴...
肯定有不少人跟我剛看到這項原則的時候一樣硬毕,對這個原則的名字充滿疑惑。其實原因就是這項原則最早是在1988年礼仗,由麻省理工學院的一位姓里的女士(Ba...
單一職責原則 定義:不要存在多于一個導致類變更的原因吐咳。通俗的說逻悠,即一個類只負責一項職責。 問題由來:類T負責兩個不同的職責:職責P1韭脊,職責P2童谒。...
1. PhoneStatusBarPolicy類的廣播接收調用Intent的getIntExtra方法,getIntExtra方法中又調用Bun...
什么是ANR ANR(Application Not Responding) 應用程序無響應沪羔。如果你應用程序在UI線程被阻塞太長時間饥伊,就會出現(xiàn)A...