摘要:里氏代換原則里氏代換原則面向?qū)ο笤O(shè)計的基本原則之一。里氏代換原則是對開閉原則的補充。而基類與子類的繼承關(guān)系就是抽象化的具體實現(xiàn),所以里氏代換原則是對實現(xiàn)抽象化的具體步驟的規(guī)范。
轉(zhuǎn)眼間已經(jīng)進入了2018年,回顧過去的一年,才發(fā)現(xiàn)自己并沒有達到預期的目標。雖然有所提高,但是和自己的預期相差甚遠。希望能夠借著這個系列的開始,給自己的2018年開個好頭。設(shè)計模式
設(shè)計模式(Design Pattern)是一套被反復使用、多數(shù)人知曉的、經(jīng)過分類的、代碼設(shè)計經(jīng)驗的總結(jié)。
我們使用設(shè)計模式的目的:
為了代碼可重用性
讓代碼更容易被他人理解
保證代碼可靠性。
設(shè)計模式使代碼編寫真正工程化;設(shè)計模式是軟件工程的基石脈絡(luò),如同大廈的結(jié)構(gòu)一樣。
設(shè)計模式本身是和語言沒有直接關(guān)聯(lián)的,它是屬于一種經(jīng)驗的總結(jié)。而我們這個系列,將通過JavaScript來作為分析的主要開發(fā)語言。
1、開閉原則(Open Close Principle)
開閉原則就是說對擴展開放,對修改關(guān)閉。在程序需要進行拓展的時候,不能去修改原有的代碼,實現(xiàn)一個熱插拔的效果。所以一句話概括就是:為了使程序的擴展性好,易于維護和升級。
2、里氏代換原則(Liskov Substitution Principle)
里氏代換原則(Liskov Substitution Principle LSP)面向?qū)ο笤O(shè)計的基本原則之一。 里氏代換原則中說,任何基類可以出現(xiàn)的地方,子類一定可以出現(xiàn)。 LSP是繼承復用的基石,只有當衍生類可以替換掉基類,軟件單位的功能不受到影響時,基類才能真正被復用,而衍生類也能夠在基類的基礎(chǔ)上增加新的行為。里氏代換原則是對“開-閉”原則的補充。實現(xiàn)“開-閉”原則的關(guān)鍵步驟就是抽象化。而基類與子類的繼承關(guān)系就是抽象化的具體實現(xiàn),所以里氏代換原則是對實現(xiàn)抽象化的具體步驟的規(guī)范。—— From Baidu 百科
3、依賴倒轉(zhuǎn)原則(Dependence Inversion Principle)
這個是開閉原則的基礎(chǔ),具體內(nèi)容:真對接口編程,依賴于抽象而不依賴于具體。
4、接口隔離原則(Interface Segregation Principle)
這個原則的意思是:使用多個隔離的接口,比使用單個接口要好。還是一個降低類之間的耦合度的意思,從這兒我們看出,其實設(shè)計模式就是一個軟件的設(shè)計思想,從大型軟件架構(gòu)出發(fā),為了升級和維護方便。降低依賴,降低耦合。
5、迪米特法則(最少知道原則)(Demeter Principle)
為什么叫最少知道原則,就是說:一個實體應(yīng)當盡量少的與其他實體之間發(fā)生相互作用,使得系統(tǒng)功能模塊相對獨立。
6、合成復用原則(Composite Reuse Principle)
原則是盡量使用合成/聚合的方式,而不是使用繼承。
目前的基本計劃是,通過JavaScript來展示不同的設(shè)計模式的實現(xiàn)方法,進而歸納整理,本文將會作為整個系列的匯總貼不定時進行更新。希望大家多多關(guān)注。
PS:之所以優(yōu)先寫出這篇匯總貼,也算是對自己的一個鞭策吧,畢竟承諾了的不能不兌現(xiàn)呢!
附:設(shè)計模式間的關(guān)系:
單例模式
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/90581.html
摘要:獲取的對象范圍方法獲取的是最終應(yīng)用在元素上的所有屬性對象即使沒有代碼,也會把默認的祖宗八代都顯示出來而只能獲取元素屬性中的樣式。因此對于一個光禿禿的元素,方法返回對象中屬性值如果有就是據(jù)我測試不同環(huán)境結(jié)果可能有差異而就是。 花了很長時間整理的前端面試資源,喜歡請大家不要吝嗇star~ 別只收藏,點個贊,點個star再走哈~ 持續(xù)更新中……,可以關(guān)注下github 項目地址 https:...
摘要:建議先安裝看看效果下載地址項目關(guān)于項目的工程大概介紹案例演示努力打造一款極致體驗的客戶端,暫時我也是學習階段,后期慢慢更新項目測試賬號和密碼接口是接用開放的接口,感謝鴻洋大神提供免費的開源接口。 flutter學習案例 目錄介紹 00.項目下載與查看 01.項目介紹 02.項目優(yōu)勢 03.部分功能介紹 04.部分截圖展示 05.版本更新 06.flutter系列博客 07.感謝 08...
閱讀 3388·2023-04-26 01:40
閱讀 3092·2021-11-24 09:39
閱讀 1402·2021-10-27 14:19
閱讀 2647·2021-10-12 10:11
閱讀 1307·2021-09-26 09:47
閱讀 1847·2021-09-22 15:21
閱讀 2710·2021-09-06 15:00
閱讀 893·2021-08-10 09:44