我該學會SOLID嗎?

文章推薦指數: 80 %
投票人數:10人

什麼是SOLID. 簡單來說就是在物件導向設計上為了讓軟體維護、開發變得更容易的五個準則Principle的開頭縮寫. Single Responsibility Principle (SRP) ... GetstartedOpeninappFinnSigninGetstarted111FollowersAboutGetstartedOpeninapp我該學會SOLID嗎?FinnMay29,2018·3minread什麼是SOLID簡單來說就是在物件導向設計上為了讓軟體維護、開發變得更容易的五個準則Principle的開頭縮寫SingleResponsibilityPrinciple(SRP)單一職責原則Open-ClosedPrinciple(OCP)開放封閉原則LiskovSubstitutionPrinciple(LSP)里氏替換原則InterfaceSegregationPrinciple(ISP)介面隔離原則DependencyInversionPrinciple(DIP)依賴反轉原則為什麼要SOLIDAgile敏捷開發的主要重點為"改變"在書中提到,歡迎客戶端改變需求,第一次聽到覺得瘋了,但這也就是Agile的優勢所以在開發期間會不斷地改變需求,也意味著你的程式碼不斷的改變而可能產生出BugSOLID目的也就是讓你程式碼低耦合高內聚降低程式碼壞味道透過分離與cleancode來提高可讀性會讓你的程式碼等同於設計文件所以在修改或新增過程中降低產生Bug的機率,也可以較快的找到與解決出問題的地方,可以有效的減少技術債SOLID很複雜?剛開始學的時候覺得很不習慣,因為跟直覺寫Code的方式不一樣不過當瞭解背後用意的話,寫起來會比較有信心感尤其當技術債逐漸減少時,會不怕需求變更我認為程式碼有一定規模的話體驗會滿深的((義大利麵....總結SOLID算是寫軟體需要學會的內功,只要是物件導向語言都可以使用,CP值非常高學會之後好處,像是容易擴充、即使修改也不會連動、很好寫測試…等等,目前學到的designpattern幾乎都是建立在SOLID上面,只是因應狀況不同而改變,一開始難免有陣痛期與掙扎,但這些都比不上即使只進行簡單修改卻要消耗巨大人力的無力感所以如果團隊開發是導入Agile,那你該問問自己,是否自己的程式碼是否也符合SOLID呢?參考來源無瑕的程式碼:敏捷軟體開發技巧守則RobertC.Martin無瑕的程式碼:敏捷軟體開發技巧守則書名:無瑕的程式碼:敏捷軟體開發技巧守則,語言:繁體中文,ISBN:9789862017050,頁數:368,出版社:博碩,作者:RobertC.Martin,譯者:戴于晉、博碩文化,出版日期:2013/03/22,類別:電腦資訊www.books.com.twSOLID:五則皆變Apr.2121:50~23:03今年4月19日在上「DesignPatterns這樣學就會了進階實作班」Day1課程的時候,Teddy介紹了SOLID這五個物件導向設計原則。

這五個原則出自於《AgileSoftware…teddy-chen-tw.blogspot.comFinniOSdeveloperFollow9797 97SolidCleanCodeAgileTechnicalDebtOopMorefromFinnFollowiOSdeveloper



請為這篇文章評分?