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