WebKit中的設計模式 一 ,開篇

2021-05-27 03:04:29 字數 654 閱讀 6287

設計模式是一種思想,是智慧型的結晶了.它有利於我們快速構建高效,模組化,高擴充套件性的**.這種思想不僅僅在c++中有,c**中也是有很充分的使用.

設計模式是前提,是重中之重,那比它更重要的是什麼?是原則!

物件導向設計五大原則

1. 單一職責原則(srp:single responsibility principle)就乙個類而言,應該僅有乙個引起它變化的原因。

2. 開放封閉原則(ocp:the open closed principle)模組應對擴充套件開放,而對修改關閉。

3. 依賴倒置原則(dip:the dependency inversion principle )抽象不應該依賴與細節,細節應當依賴與抽象。要針對介面程式設計,而不是針對實現程式設計。

4. 介面隔離原則(isp:the inte***ce segregation principle)每乙個介面應該是一種角色,不多不少,不幹不該幹的事,該幹的事都要幹。

5. 黎克特制替換原則(lsp:the liskov substitution principle)如果呼叫的是父類的話,那麼換成子類也完全可以執行。黎克特制代換原則是繼承復用的乙個基礎。

這一系列說的是webkit中的用到的設計模式,也盡量能夠把23種設計模式介紹全.我也會在其它文章中介紹c**中對物件導向的思想的實現.並對c++物件模型中的知識有乙個介紹.

走進快取的世界(一) 開篇

系列文章 對於程式設計師來說多多少少都懂一點演算法,演算法是什麼?演算法是 時間 與 空間 的互換策略。我們常常研究乙個演算法的時間複雜度和空間複雜度,如果我們有絕對足夠的時間和空間,那麼演算法就不需要了,可惜這種條件是不存在的,只是在某些情況下我們會協調兩者從而達到效能上的平衡。快取是一種 用空間...

走進快取的世界(一) 開篇

對於程式設計師來說多多少少都懂一點演算法,演算法是什麼?演算法是 時間 與 空間 的互換策略。我們常常研究乙個演算法的時間複雜度和空間複雜度,如果我們有絕對足夠的時間和空間,那麼演算法就不需要了,可惜這種條件是不存在的,只是在某些情況下我們會協調兩者從而達到效能上的平衡。快取是一種 用空間換時間 的...

走進快取的世界(一) 開篇

對於程式設計師來說多多少少都懂一點演算法,演算法是什麼?演算法是 時間 與 空間 的互換策略。我們常常研究乙個演算法的時間複雜度和空間複雜度,如果我們有絕對足夠的時間和空間,那麼演算法就不需要了,可惜這種條件是不存在的,只是在某些情況下我們會協調兩者從而達到效能上的平衡。快取是一種 用空間換時間 的...