設(shè)計模式

面向?qū)ο罅笤瓌t

  • 單一職責(zé)原則:一個類中應(yīng)該是一組相關(guān)性很高的函數(shù)、數(shù)據(jù)的封裝瞒窒。
  • 開閉原則:對修改關(guān)閉羹膳,對拓展關(guān)閉。
  • 里氏替換原則:所有引用基類的地方必須能透明得使用其子類的對象根竿。即子類就可以替換父類出現(xiàn)陵像。
  • 依賴倒置原則:依賴高層抽象,不能依賴底層實現(xiàn)寇壳。
  • 接口隔離原則:將接口拆分成更具體的接口醒颖,根據(jù)不同需求建立依賴。
  • 迪米特原則:即最小知識原則壳炎。一個類應(yīng)該與和它關(guān)系最直接的類建立連接泞歉。

設(shè)計模式在Android源碼中的實現(xiàn)

  • 單例模式
    最優(yōu)實現(xiàn):靜態(tài)內(nèi)部類方式逼侦、枚舉方式、容器方式

    源碼:Context.getSystemSerivce()采用了容器方式實現(xiàn)單例模式將service通過鍵值對的方式存在HashMap中腰耙。

  • Builder模式

    將一個復(fù)雜的對象的構(gòu)建與表示分離榛丢,使得同樣的構(gòu)建過程可以創(chuàng)建不同的表示。

    源碼:AlertDialog挺庞、OkHttp

  • 原型模式

    clone()

源碼:ArrayList

  • 工廠方法模式

源碼:Iterable

  • 抽象工廠

  • 策略模式:

源碼:屬性動畫插值器

  • 狀態(tài)模式:

源碼:WiFiSetting

  • 責(zé)任鏈模式:

源碼:view事件分發(fā)

  • 解釋器模式:

源碼:PackageManagerService(app掃描)

  • 命令模式:

源碼:InputDispatcher事件輸入

  • 觀察者模式:

源碼:notifyDataSetChange晰赞、Rxjava

  • 備忘錄模式:

源碼:onSaveInstanceState

  • 迭代器模式:

源碼:List、Map选侨、Curso

  • 模板方法模式:

源碼:AsyncTask

  • 訪問者模式:

源碼:APT(注解)

  • 中介者模式:

源碼:Keyguard鎖屏

  • 代理模式:

源碼:Binder

  • 組合模式:

源碼:View掖鱼、ViewGroup

  • 適配器模式:

源碼:Adapter

  • 裝飾器模式:

源碼:ContextWrapper

  • 享元模式:

源碼:Message

  • 外觀模式:

源碼:context、ContextImpl

  • 橋接模式:

源碼:WindowManagerService

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末援制,一起剝皮案震驚了整個濱河市戏挡,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌晨仑,老刑警劉巖褐墅,帶你破解...
    沈念sama閱讀 216,843評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異洪己,居然都是意外死亡掌栅,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,538評論 3 392
  • 文/潘曉璐 我一進店門码泛,熙熙樓的掌柜王于貴愁眉苦臉地迎上來猾封,“玉大人,你說我怎么就攤上這事噪珊∩卧担” “怎么了?”我有些...
    開封第一講書人閱讀 163,187評論 0 353
  • 文/不壞的土叔 我叫張陵痢站,是天一觀的道長磷箕。 經(jīng)常有香客問我,道長阵难,這世上最難降的妖魔是什么岳枷? 我笑而不...
    開封第一講書人閱讀 58,264評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮呜叫,結(jié)果婚禮上空繁,老公的妹妹穿的比我還像新娘。我一直安慰自己朱庆,他們只是感情好盛泡,可當(dāng)我...
    茶點故事閱讀 67,289評論 6 390
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著娱颊,像睡著了一般傲诵。 火紅的嫁衣襯著肌膚如雪凯砍。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,231評論 1 299
  • 那天拴竹,我揣著相機與錄音悟衩,去河邊找鬼。 笑死栓拜,一個胖子當(dāng)著我的面吹牛座泳,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播菱属,決...
    沈念sama閱讀 40,116評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼舰罚!你這毒婦竟也來了纽门?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,945評論 0 275
  • 序言:老撾萬榮一對情侶失蹤营罢,失蹤者是張志新(化名)和其女友劉穎赏陵,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體饲漾,經(jīng)...
    沈念sama閱讀 45,367評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡蝙搔,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,581評論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了考传。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片吃型。...
    茶點故事閱讀 39,754評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖僚楞,靈堂內(nèi)的尸體忽然破棺而出勤晚,到底是詐尸還是另有隱情,我是刑警寧澤泉褐,帶...
    沈念sama閱讀 35,458評論 5 344
  • 正文 年R本政府宣布赐写,位于F島的核電站,受9級特大地震影響膜赃,放射性物質(zhì)發(fā)生泄漏挺邀。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,068評論 3 327
  • 文/蒙蒙 一跳座、第九天 我趴在偏房一處隱蔽的房頂上張望端铛。 院中可真熱鬧,春花似錦疲眷、人聲如沸沦补。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,692評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽夕膀。三九已至虚倒,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間产舞,已是汗流浹背魂奥。 一陣腳步聲響...
    開封第一講書人閱讀 32,842評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留易猫,地道東北人耻煤。 一個月前我還...
    沈念sama閱讀 47,797評論 2 369
  • 正文 我出身青樓,卻偏偏與公主長得像准颓,于是被迫代替她去往敵國和親哈蝇。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,654評論 2 354

推薦閱讀更多精彩內(nèi)容