SOLID 設計原則. 當工程師大概半年左右的時間 - Medium
文章推薦指數: 80 %
設計模式:SOLID Principles 物件導向原則. 當工程師大概半年左右的時間,在工作的過程中慢慢理解到設計模式的重要性,過去總是以能快速實作功能為第 ...
GetunlimitedaccessOpeninappHomeNotificationsListsStoriesWrite設計模式:SOLIDPrinciples物件導向原則當工程師大概半年左右的時間,在工作的過程中慢慢理解到設計模式的重要性,過去總是以能快速實作功能為第一優先,因此常忽略了需要保留後續擴充的空間性,所以今天稍微整理了程式開發的五個基本物件導向原則—SOLID。
SOLID五大基本原則如下:SingleResponsibilityPrinciple(SRP)—單一職責原則所謂單一職責,顧名思義就是遵守PureFunction的大原則,最終希望達到的目的即是程式碼的「高內聚」。
簡單來說即是每個Function只接受單一任務,如此在後續修改上也將相對容易。
OpenClosedPrinciple(OCP)—開放封閉原則OCP的大目的即是增加延展上的彈性,這部分對於在跑敏捷式開發的團隊可能會特別有感,原因在於產品功能在開發期間可能會不斷的被修改,因此保留一定的彈性將非常重要。
LiskovSubstitutionPrinsple(LSP)—里氏替換原則「父類別出現的地方,子類別就能代替它」,即父類別所擁有的方法,子類別不僅能覆寫外,還能自行衍伸出其他方法,但需特別留意當子類別衍伸擴充方法時,是否發生與SRP單一原則有所衝突,以避免在遵行執行替換原則時,導致程式碼低內聚的發生。
InterfaceSsegregationPrinsple(ISP)—介面隔離原則使用者不應被強迫使用他們不需要的介面,因此大原則即是介面功能應該盡量細分,達到單一介面只提供一個商業邏輯為主,原因在於程式開發過程中,多個專用介面會比一個綜合的介面更為靈活,在面對後續的擴散或維護上也將更為容易。
DependencyInversionprinciple(DIP)—相依反轉原則DIP的原則即是依賴應該維持單向性,即高階模組不應依賴低階模組,兩個都應該依賴在抽象概念上;抽象概念不依賴細節,而是細節依賴在抽象概念。
上面說明有點抽象,簡單來說子類別依賴服類別是理所當然,但是父類別不應該依賴子類別內的實作功能,而抽象類別內不應該有太多細節,而實作類別反而需要依賴抽象類別中的細節。
附上一段遵守SOLID中的S、O及D程式碼。
第八行:OriginalProduct這個class遵從SRP原則,只執行單一任務;同時因為透過協定的關係,實作了Product中的細節部分,也正好遵從了DIP原則。
第十七行、十八行:透過private的方式實作出一個常數,並在class中實作,也因為符合了OCP原則,因此在後續擴充上變得更為容易。
--MorefromHsinChenFollowiOSSoftwareEngineer、TechnicalNote、WorkingExperience//Lovepodcastsoraudiobooks?Learnonthegowithournewapp.TryKnowableAboutHelpTermsPrivacyGettheMediumappGetstartedHsinChen9FollowersiOSSoftwareEngineer、TechnicalNote、WorkingExperience//FollowMorefromMediumRavikiranNandulaWhatisIOCandDependencyInjectionMohamedIbrahimAhmedWhatisServiceMesh?KayvanKasebinSoftwareDevelopmentTheLayeredArchitecturePatterninSoftwareArchitectureArdilMohamedSingletonDesignPatternHelpStatusWritersBlogCareersPrivacyTermsAboutKnowable
延伸文章資訊
- 1设计模式概念和七大原则 - 腾讯云
- 2設計模式6大設計原則 - 程式前沿
設計模式6大設計原則 · 1. 單一職責原則 · 2. 里氏替換原則 · 3. 依賴倒置原則 · 4. 介面隔離原則 · 5. 迪米特法則 · 6. 開閉原則.
- 3SOLID 設計原則. 當工程師大概半年左右的時間 - Medium
設計模式:SOLID Principles 物件導向原則. 當工程師大概半年左右的時間,在工作的過程中慢慢理解到設計模式的重要性,過去總是以能快速實作功能為第 ...
- 4設計模式概述七大設計原則 - w3c學習教程
設計模式概述七大設計原則,設計模式design pattern 是前輩們對開發經驗的總結,是解決特定問題的一系列套路。它不是語法規定,而是一套用來提高可複用 ...
- 5設計模式的七大原則詳解 - IT人
1 認識設計模式 · 2 單一職責原則 · 3 介面隔離原則 · 4 依賴倒轉原則 · 5 里氏替換原則 · 6 開閉原則 · 7 迪米特法則 · 8 合成複用原則.