定義:一個(gè)軟件實(shí)體如類、模塊和函數(shù)應(yīng)該對擴(kuò)展開放苟弛,對修改關(guān)閉褪测。 問題由來:在軟件的生命周期內(nèi)猴誊,因?yàn)樽兓⑸壓途S護(hù)等原因需要對軟件原有代碼進(jìn)行修...
定義:一個(gè)對象應(yīng)該對其他對象保持最少的了解侮措。 問題由來:類與類之間的關(guān)系越密切懈叹,耦合度越大,當(dāng)一個(gè)類發(fā)生改變時(shí)分扎,對另一個(gè)類的影響也越大澄成。 解決方...
定義:客戶端不應(yīng)該依賴它不需要的接口;一個(gè)類對另一個(gè)類的依賴應(yīng)該建立在最小的接口上畏吓。 問題由來:類A通過接口I依賴類B墨状,類C通過接口I依賴類D,...
定義:高層模塊不應(yīng)該依賴低層模塊菲饼,二者都應(yīng)該依賴其抽象肾砂;抽象不應(yīng)該依賴細(xì)節(jié);細(xì)節(jié)應(yīng)該依賴抽象宏悦。 問題由來:類A直接依賴類B镐确,假如要將類A改為依賴...
肯定有不少人跟我剛看到這項(xiàng)原則的時(shí)候一樣包吝,對這個(gè)原則的名字充滿疑惑。其實(shí)原因就是這項(xiàng)原則最早是在1988年源葫,由麻省理工學(xué)院的一位姓里的女士(Ba...
單一職責(zé)原則 定義:不要存在多于一個(gè)導(dǎo)致類變更的原因诗越。通俗的說,即一個(gè)類只負(fù)責(zé)一項(xiàng)職責(zé)息堂。 問題由來:類T負(fù)責(zé)兩個(gè)不同的職責(zé):職責(zé)P1嚷狞,職責(zé)P2。...
1. PhoneStatusBarPolicy類的廣播接收調(diào)用Intent的getIntExtra方法储矩,getIntExtra方法中又調(diào)用Bun...
什么是ANR ANR(Application Not Responding) 應(yīng)用程序無響應(yīng)感耙。如果你應(yīng)用程序在UI線程被阻塞太長時(shí)間,就會(huì)出現(xiàn)A...