您好,登錄后才能下訂單哦!
首先祝大家節(jié)日快樂?。。?/p>
額,不知道你們剁手沒,小夢是沒有!整整已經(jīng)錯過了第九個年頭!
小伙伴是不是有一種感覺,PHP入門的時候簡直愛不釋手,總是把 ”PHP是世界上最好的語言“ 掛在嘴邊上,覺得他簡單,快速完成項目!
然兒,終于有一天,你開發(fā)的項目過于龐大的時候,突然發(fā)現(xiàn):我寫的代碼好亂,擴展性好低,可維護性好差。。。。。。。
然后你就下定決心要重構(gòu)你的項目?想來想去,當(dāng)然是面向?qū)ο缶幊塘耍缓蠹由细鞣N設(shè)計模式!你就開始干了?。?!
下面就給大家講一下面向?qū)ο蟮脑O(shè)計原則,當(dāng)然面向?qū)ο蟮暮锰幰约叭绾畏治鲈O(shè)計我就不告訴你們了,如果想知道的可以連續(xù)我哦!本人QQ:476319748 (備注面向?qū)ο笤O(shè)計)
面向?qū)ο缶幊讨饕幸幌聨追N基本原則
1. 單一職責(zé):一個類,只需做好一件事情。不要使用一個類來完成很復(fù)雜的功能,而是拆分設(shè)計成更小更具體的類。
那有的小伙伴又要問了,為什么這樣做?對對,倒數(shù)第二個同學(xué)問的好,下面我就給大家說一下為什么:首先呢,就比如前后端分離,為什么前端主做頁面展示,渲染效果,后端做業(yè)務(wù)邏輯,道理是一樣的,專精一樣,類也是一樣,專職一件事,高效,而且呢維護性已經(jīng)擴展性很高,耦合度很低,修改一個不會影響其他人
2. 開放封閉原則:一個類,應(yīng)該可以擴展,而不可修改的。一個類在實現(xiàn)之后,應(yīng)該是對擴展開放,對修是改封閉的,不應(yīng)該使用修改來增加功能,而是通過擴展來增加功能。
這個你還要問為什么?那我就不告訴你了?。?!
3. 依賴倒置:一個類,不應(yīng)該強制依賴另一個類。每個類對另外一個類都是可以替換的。如:有A、B兩個類,A需要依賴B類,不應(yīng)該在A類中直接調(diào)用B類,而是要使用依賴注入的方式,通過使用諸如,將A類依賴的B類的對象注入給A類,B類對于A類來說就是可以替換的。如果C類實現(xiàn)了和B類一樣的接口,那對于A類,B和C也是可以隨意替換的。
這個那個同學(xué)不用蠢蠢欲動想知道為什么了,我來告訴你吧:這個是降低耦合度!什么?你不知道耦合度是什么了,那么請你出去,這里不適合你!
4. 配置化: 盡可能的使用配置,而不是使用硬編碼。像類的關(guān)系的定義,也應(yīng)該是可以配置的。
這點呢和你為什么想做面向?qū)ο缶幊淌且粋€道理!
5. 面向接口編程,而不是面向?qū)崿F(xiàn)編程:只需要關(guān)心接口,不需要關(guān)心實現(xiàn)。所有的代碼,它只需要關(guān)心某一個類實現(xiàn)了哪些接口,而不需要關(guān)心這個類的具體實現(xiàn)。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。