<Java設計模式>—單一職責原則(SRP)師徒四人去取經(jīng)

1. 什么是單一職責原則

顧名思義就是一個職責嘛宙拉,完整的來說浅萧,就是一個接口乞旦、類和方法負責的功能是單一的,簡單的页畦。

2. 生活中的運用

其實,咱們生活中研儒,有很多這樣的例子豫缨,就拿手機廠商造手機來說,為了完成一部手機的制造端朵,需要有生產(chǎn)cpu的好芭、生產(chǎn)顯示屏的、生產(chǎn)主板的冲呢、生產(chǎn)外殼的舍败、生產(chǎn)麥克風的...各種的機器。那么每一種類型的機器就會生產(chǎn)這一類產(chǎn)品,不會生產(chǎn)其他的產(chǎn)品邻薯,這種進行單一產(chǎn)品生產(chǎn)的功能裙戏,就是單一職責的具體表現(xiàn)。

3. 這種原則的優(yōu)點

那么為什么要這么做呢厕诡?當然不是吃飽了撐的累榜,下面就來看看這樣做有什么好處。

  • 降低類的復雜性灵嫌,有什么樣的職責都是清晰明確的壹罚。
  • 可讀性提高,復雜性降低醒第,可維護性提高渔嚷。
  • 應對將來變更的風險能力提高。

咱們就來反面來驗證這3個優(yōu)點稠曼,假如制造手機是一個牛掰的機器形病,這邊把原料放進去,另外一邊手機就出來了霞幅,那么這臺機器就包含了很多的功能漠吻,生產(chǎn)cpu,生產(chǎn)顯示器等等司恳,全一機器干了途乃,可想而知這臺機器里面將是多么的復雜,假如這臺機器生產(chǎn)外殼的功能壞掉了扔傅,那么這個龐大的機器將不能繼續(xù)生產(chǎn)手機了耍共,只能等待維修人員了,如果按照單一職責的機器來進行生產(chǎn)猎塞,那么我只要將生產(chǎn)外殼的機器換掉试读,就可以繼續(xù)生產(chǎn)手機,這樣應對風險的能力將大大提高荠耽,另外就拿后期的維修機器來說钩骇,單一職責的機器維修的效率也是很高的。

4. 菜鳥時代的Activity

當年寫Activity的時候铝量,會把對View的操作倘屹,對數(shù)據(jù)的處理,以及和其他Activity的交互邏輯全都寫到一個Activity里面慢叨,到最后這個Activity一共1000行代碼纽匙,當然也有比這還多的,于是吭哧吭哧把這樣的功能完成了插爹,這個時候產(chǎn)品經(jīng)理說:“小王哄辣,這個功能目前有點變動请梢,換成XXX這樣的×λ耄”毅弧,估計,你當時掐死產(chǎn)品經(jīng)理的心都有当窗,算了够坐,為了珍惜生命,也是就忍了崖面,就開始默默的修改龐大的Activity元咙,以及與之相關的類,等你改好了巫员,發(fā)給測試庶香,測試人員說:

沒辦法誰叫他是產(chǎn)品經(jīng)理的呢,就需要改動很多的代碼简识,一旦發(fā)生了bug赶掖,還需要從前往后的排查,兼職讓人苦不堪言七扰,那么在看看現(xiàn)在的MVP這個結構奢赂,不就這種單一職責的原理嘛,各自負責各自的颈走,雖然類的數(shù)量增加了膳灶,但是結構條理清楚,面對將來業(yè)務的修改也是很方便立由,找bug也不費事了轧钓,最重要的是團隊的分工合作。

5. 思考

理論是枯燥的锐膜,但是將理論和生活結合在一起聋迎,將大大提高對理論的理解。

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末枣耀,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子庭再,更是在濱河造成了極大的恐慌捞奕,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,695評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件拄轻,死亡現(xiàn)場離奇詭異颅围,居然都是意外死亡,警方通過查閱死者的電腦和手機恨搓,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,569評論 3 399
  • 文/潘曉璐 我一進店門院促,熙熙樓的掌柜王于貴愁眉苦臉地迎上來筏养,“玉大人,你說我怎么就攤上這事常拓〗ト埽” “怎么了?”我有些...
    開封第一講書人閱讀 168,130評論 0 360
  • 文/不壞的土叔 我叫張陵弄抬,是天一觀的道長茎辐。 經(jīng)常有香客問我,道長掂恕,這世上最難降的妖魔是什么拖陆? 我笑而不...
    開封第一講書人閱讀 59,648評論 1 297
  • 正文 為了忘掉前任,我火速辦了婚禮懊亡,結果婚禮上依啰,老公的妹妹穿的比我還像新娘。我一直安慰自己店枣,他們只是感情好速警,可當我...
    茶點故事閱讀 68,655評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著艰争,像睡著了一般坏瞄。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上甩卓,一...
    開封第一講書人閱讀 52,268評論 1 309
  • 那天鸠匀,我揣著相機與錄音,去河邊找鬼逾柿。 笑死缀棍,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的机错。 我是一名探鬼主播爬范,決...
    沈念sama閱讀 40,835評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼弱匪!你這毒婦竟也來了青瀑?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,740評論 0 276
  • 序言:老撾萬榮一對情侶失蹤萧诫,失蹤者是張志新(化名)和其女友劉穎斥难,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體帘饶,經(jīng)...
    沈念sama閱讀 46,286評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡哑诊,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,375評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了及刻。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片镀裤。...
    茶點故事閱讀 40,505評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡竞阐,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出暑劝,到底是詐尸還是另有隱情骆莹,我是刑警寧澤,帶...
    沈念sama閱讀 36,185評論 5 350
  • 正文 年R本政府宣布铃岔,位于F島的核電站汪疮,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏毁习。R本人自食惡果不足惜智嚷,卻給世界環(huán)境...
    茶點故事閱讀 41,873評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望纺且。 院中可真熱鬧盏道,春花似錦、人聲如沸载碌。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,357評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽嫁艇。三九已至朗伶,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間步咪,已是汗流浹背论皆。 一陣腳步聲響...
    開封第一講書人閱讀 33,466評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留猾漫,地道東北人点晴。 一個月前我還...
    沈念sama閱讀 48,921評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像悯周,于是被迫代替她去往敵國和親粒督。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,515評論 2 359

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