PHP設計模式 六大原則

2021-07-27 10:08:43 字數 863 閱讀 2441

一般認為遵從以下六大原則的**是可擴充套件易維護高復用的**:

1.單一職責原則

不要多管閒事。

2.開放封閉原則

對擴充套件開放,對修改封閉

3.黎克特制代換原則

引自大話設計模式一書 p41

"黎克特制代換原則是barbara liskov 女士 在1988 年發表的【asd】,具體的數學定義比較複雜,你可以查相關資料,它的白話翻譯就是乙個軟體實體如果使用的是乙個父類的話,那麼一定適用於其子類,而且它觀察不出父類物件和子類物件的區別,也就是說,在軟體裡面,把父類都替換成它的子類,程式的行為沒有變化,簡單地說,子型別必須能夠替換掉它們的父型別【asd】" .

黎克特制代換原則(lsp):子型別必須能替換掉它們的父型別。【asd】

"這好像是學繼承時就要理解的概念,子類繼承了父類,所以子類就可以以父類的身份出現。"

「是的,我問你個問題,如果在物件導向設計時,乙個鳥類,乙個是企鵝類,如果鳥是可以飛的,企業是不會飛,那麼企業是鳥嗎?企鵝可以繼承鳥這個類嗎?」

「企鵝是一種特殊的鳥,儘管不能飛,但它也是鳥,當然可以繼承。」

「哈,你上當了,我說的是在面象物件設計時,那又意味什麼那?子類擁有父類所有非private的行為和屬性。鳥會飛,而企鵝不會飛,儘管在生物學分類上,企鵝是一種鳥,但在程式設計世界裡,企鵝不能以父類--鳥的身份出現,因為前提說所有鳥都能飛,企鵝飛不了,所以,企鵝不能繼承鳥類。」

4.介面隔離原則

5.依賴倒轉原則

6.迪公尺特法則--最少知道原則

這六大原則任何物件導向的語言都應該遵守,好的**不一定是嚴格按照設計模式寫的**,如果你的**符合這六大原則,那麼你的**就是好**,所以這六大原則還是很重要的。

設計模式六大原則

0.05 設計模式 設計模式 規範 筆記 大話設計模式 物件導向的關鍵在於封裝,封裝好了才能很好的復用,達到單一職責和開放擴充套件 封閉更改的效果。1 單一職責原則 就乙個類而言,應該僅有乙個引起它變化的原因.增加功能不應該修改已有的 避免修改出錯及重複測試.如果你能夠想到多於乙個的動機去改變乙個類...

設計模式六大原則

0.05 設計模式 設計模式 規範 筆記 大話設計模式 物件導向的關鍵在於封裝,封裝好了才能很好的復用,達到單一職責和開放擴充套件 封閉更改的效果。1 單一職責原則 就乙個類而言,應該僅有乙個引起它變化的原因.增加功能不應該修改已有的 避免修改出錯及重複測試.如果你能夠想到多於乙個的動機去改變乙個類...

設計模式六大原則

參考文章 單一職責原則 single responsibility principle,srp 乙個類只負責乙個功能領域中的相應職責,或者可以定義為 就乙個類而言,應該只有乙個引起它變化的原因。開閉原則 open closed principle,ocp 乙個軟體實體應當對擴充套件開放,對修改關閉。...