Java設(shè)計(jì)原則---開(kāi)閉原則OCP相關(guān)

使用Android 圖片緩存代碼來(lái)說(shuō)下開(kāi)閉原則 ?赶么,下面是常規(guī)的圖片緩存代碼

圖片A
圖片B

圖片A中:我們創(chuàng)建一個(gè)ImageCache類實(shí)現(xiàn)需要緩存的圖片的方式瘟仿,起初我們只實(shí)現(xiàn)sdcard和內(nèi)存緩存,

在ImageLoad獲取圖片也只通過(guò)這2個(gè)緩存地去查找圖片研铆,

當(dāng)我們需要添加第三乃至更多緩存方式時(shí) 就需要在ImageCache添加對(duì)應(yīng)的緩存方式方法埋同,

這時(shí)候我們就需要修改ImageCache同時(shí)也要需改ImageLoader 的displayImage方法?

這就違背了開(kāi)閉原則,只對(duì)擴(kuò)展開(kāi)發(fā) 棵红,對(duì)修改關(guān)閉凶赁,我們這里擴(kuò)展了 但是也修改了.........


圖片B中:我們把具體實(shí)現(xiàn)緩存的類都實(shí)現(xiàn)統(tǒng)一的ImageCache接口,具體緩存實(shí)現(xiàn)類只關(guān)注自己的緩存實(shí)現(xiàn)

在ImageLoader中通過(guò)setImageCache把緩存類對(duì)象注入逆甜,當(dāng)我們添加更多緩存方式時(shí)只擴(kuò)展一個(gè)新的緩存而不需要去

修改其他實(shí)現(xiàn)好的緩存類


個(gè)人總結(jié):

1:圖片A這種實(shí)現(xiàn)方式并不是不可取虱肄,這個(gè)要根據(jù)公司具體業(yè)務(wù)來(lái)調(diào)整

如果是單純的一般小公司,業(yè)務(wù)不是很大的交煞,而且又是單人開(kāi)發(fā)咏窿,圖A這種方式 寫(xiě)起來(lái)快速方便代碼又少

但是如果是大公司,業(yè)務(wù)邏輯復(fù)雜素征,需求變更頻繁集嵌,當(dāng)然B是更好的。

2:圖A這種方式某種意義上又違背了"類單一職責(zé)原則",但是也不是絕對(duì)的御毅,至少這個(gè)類只是實(shí)現(xiàn)了自己的緩存功能根欧,

一個(gè)類只有一個(gè)引起這個(gè)類變化的原因。即一個(gè)類只完成一個(gè)功能亚享,(類單一職責(zé)原則)

如果做不到一個(gè)類只完成一個(gè)功能咽块,最少要保證一個(gè)方法只完成一個(gè)功能。

3:原則是死的具體開(kāi)發(fā)還是按照具體的業(yè)務(wù)來(lái)調(diào)整吧欺税!圖片A這種方式侈沪,雖然會(huì)修改代碼,

但至少是以擴(kuò)展的方式去修改晚凿,并不會(huì)引起上層調(diào)用邏輯錯(cuò)誤



個(gè)人觀點(diǎn) 有錯(cuò)請(qǐng)指正

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末亭罪,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子歼秽,更是在濱河造成了極大的恐慌应役,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,464評(píng)論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異箩祥,居然都是意外死亡院崇,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,033評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)袍祖,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)底瓣,“玉大人,你說(shuō)我怎么就攤上這事蕉陋【杵荆” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 169,078評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵凳鬓,是天一觀的道長(zhǎng)茁肠。 經(jīng)常有香客問(wèn)我,道長(zhǎng)缩举,這世上最難降的妖魔是什么垦梆? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,979評(píng)論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮仅孩,結(jié)果婚禮上奶赔,老公的妹妹穿的比我還像新娘。我一直安慰自己杠氢,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,001評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布另伍。 她就那樣靜靜地躺著鼻百,像睡著了一般。 火紅的嫁衣襯著肌膚如雪摆尝。 梳的紋絲不亂的頭發(fā)上温艇,一...
    開(kāi)封第一講書(shū)人閱讀 52,584評(píng)論 1 312
  • 那天,我揣著相機(jī)與錄音堕汞,去河邊找鬼勺爱。 笑死,一個(gè)胖子當(dāng)著我的面吹牛讯检,可吹牛的內(nèi)容都是我干的琐鲁。 我是一名探鬼主播,決...
    沈念sama閱讀 41,085評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼人灼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼围段!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起投放,我...
    開(kāi)封第一講書(shū)人閱讀 40,023評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤奈泪,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體涝桅,經(jīng)...
    沈念sama閱讀 46,555評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡拜姿,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,626評(píng)論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了冯遂。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蕊肥。...
    茶點(diǎn)故事閱讀 40,769評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖债蜜,靈堂內(nèi)的尸體忽然破棺而出晴埂,到底是詐尸還是另有隱情,我是刑警寧澤寻定,帶...
    沈念sama閱讀 36,439評(píng)論 5 351
  • 正文 年R本政府宣布儒洛,位于F島的核電站,受9級(jí)特大地震影響狼速,放射性物質(zhì)發(fā)生泄漏琅锻。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,115評(píng)論 3 335
  • 文/蒙蒙 一向胡、第九天 我趴在偏房一處隱蔽的房頂上張望恼蓬。 院中可真熱鬧,春花似錦僵芹、人聲如沸处硬。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,601評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)荷辕。三九已至,卻和暖如春件豌,著一層夾襖步出監(jiān)牢的瞬間疮方,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,702評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工茧彤, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留骡显,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,191評(píng)論 3 378
  • 正文 我出身青樓曾掂,卻偏偏與公主長(zhǎng)得像惫谤,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子遭殉,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,781評(píng)論 2 361

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