最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

4.2牢記單一責(zé)任和開(kāi)閉原則

2023-06-25 11:38 作者:xlorne  | 我要投稿


? ? ? 再?gòu)?fù)雜的設(shè)計(jì),當(dāng)你將其徹底拆解和分析之后,你會(huì)發(fā)現(xiàn)其核心實(shí)質(zhì)不過(guò)是單一責(zé)任原則(SRP)和開(kāi)閉原則(OCP)的具體應(yīng)用和實(shí)現(xiàn)。

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? —— lorne

SRP&OCP的地位

我一直認(rèn)為單一責(zé)任和開(kāi)閉原則是軟件開(kāi)發(fā)設(shè)計(jì)中的最頂級(jí)原則

單一責(zé)任是模塊與類(lèi)設(shè)計(jì)的第一原則,開(kāi)閉原則是抽象與拓展的第一原則。

在SOLID中 也是最靠前的兩個(gè)原則

S 指的是單一責(zé)任,O指的就是開(kāi)閉原則。

L是里氏替換原則,I是接口隔離原則,D是依賴(lài)導(dǎo)致原則。

而這三個(gè)原則都是對(duì)具體操作層面的約束原則。

SRP原則

? ? 單一責(zé)任,要求我們對(duì)類(lèi)、函數(shù)、包、模塊都需要遵循單一責(zé)任的原則,其目的是為了可維護(hù)性與復(fù)用行。


? ? 可維護(hù)性是指,通過(guò)將相同的代碼維護(hù)在一塊,可以讓功能的封裝性更強(qiáng),同樣對(duì)于修改維護(hù)的時(shí)候,也只需要修改一處地方即可。


? ? 復(fù)用行是指,通過(guò)對(duì)相同指責(zé)代碼的封裝,從而可以在需要使用這個(gè)功能的時(shí)候,容易引入進(jìn)來(lái),從而提升了代碼的重復(fù)利用率。


OCP原則

? ? ?開(kāi)閉原則,要求我們對(duì)新增開(kāi)放,對(duì)修改關(guān)閉。其目的是為了可維護(hù)性與拓展性。


? ? ?可維護(hù)性是指,如果對(duì)功能的調(diào)整都需要通過(guò)修改已有的代碼來(lái)實(shí)現(xiàn)的話,那么將會(huì)帶來(lái)很多的隱患,因?yàn)橹灰歉膭?dòng)過(guò)的代碼都有可能會(huì)存在的問(wèn)題,因此我們已經(jīng)盡量的避免修改已有的邏輯,而是通過(guò)新增來(lái)實(shí)現(xiàn),因?yàn)樾略龃a的話,其影響面只是新代碼的影響,而不會(huì)影響已有的邏輯。


? ? 拓展性是指,想要達(dá)成通過(guò)新增來(lái)實(shí)現(xiàn)對(duì)已有功能的調(diào)整,則需要我們采用一些設(shè)計(jì)技巧來(lái)實(shí)現(xiàn)的,例如多態(tài)、繼承、事件驅(qū)動(dòng)、接口隔離等方式,當(dāng)你采用這樣的方式處理程序以后,自然會(huì)帶來(lái)更強(qiáng)的拓展性與適配能力。

總結(jié)

? ? ?SRP原則,我用兩個(gè)例子場(chǎng)景來(lái)介紹

? ? ?文件歸檔能力,如果你需要做大量的文字處理的功能,你想要在寫(xiě)新的文檔的時(shí)候,使用你之前的文檔內(nèi)容,那么你就需要做好兩件事情,1是文件的分類(lèi),2是文件的命名與段落的標(biāo)題總結(jié)。如果你能做好這兩項(xiàng)能力,那么你在復(fù)用你之前的勞動(dòng)成果的時(shí)候,就變得的非常的容易了。

? ? 打掃衛(wèi)生,我認(rèn)為打掃衛(wèi)生這個(gè)事情,想要做好這個(gè)工作,需要的也是兩方面的能力,分別是歸納和整齊。歸納是指,我們要把物品做好分類(lèi),整齊是指,我們要?dú)w納好的物品排放整齊。滿足這兩點(diǎn)就說(shuō)明,就已經(jīng)是非常成功的打掃工作了。

? ? ?OCP原則,更多的是考察程序員的抽象能力,只有在運(yùn)用好抽象能力以后,你才能做好OCP的工作。像是多態(tài)、事件驅(qū)動(dòng)、接口隔離更多的是設(shè)計(jì)者的面相對(duì)象的底層設(shè)計(jì)能力,尤其是多態(tài),OCP想要做好必然會(huì)運(yùn)用多態(tài)的技術(shù)。

? ? 前面說(shuō)SRP和OCP是設(shè)計(jì)原則的兩大頂級(jí)原則,一個(gè)是教大家如何歸納分類(lèi)、一個(gè)是教大家如何抽象多態(tài),其實(shí)這兩大能力也是軟件設(shè)計(jì)中的最重要的能力。

? ? 因此想要成為合格的架構(gòu)師,那么對(duì)于這兩個(gè)設(shè)計(jì)原則必須要做到牢記在心、熟練應(yīng)用。無(wú)論是多復(fù)雜的架構(gòu)設(shè)計(jì),當(dāng)你把他拆解分析完以后,最終也無(wú)非是這兩個(gè)原則的表現(xiàn)。


4.2牢記單一責(zé)任和開(kāi)閉原則的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
濮阳县| 宝坻区| 鄱阳县| 定结县| 临朐县| 江永县| 礼泉县| 石林| 张家港市| 崇礼县| 滨海县| 揭西县| 贵定县| 陕西省| 务川| 本溪| 买车| 肥乡县| 胶州市| 团风县| 东兰县| 富宁县| 宣威市| 临沧市| 都江堰市| 新兴县| 平南县| 襄城县| 漳平市| 齐河县| 海门市| 类乌齐县| 秦安县| 昆明市| 邓州市| 老河口市| 上犹县| 静乐县| 武功县| 宣汉县| 郑州市|