什麼是介面隔離原則 一個類別不應該被強迫實作一個它不需要的方法 意思就是說,一個類別不應該去實作它不需要去執行的方法。感覺有點廢話,又把引言說了一次,直接來...
什麼是里氏替換原則 子型別必須遵從父型別的行為進行設計 解釋只有一句話這麼簡單。 子型別要完全實作父型別的方法 子型別要能完全替代父型別,且不能出現錯誤或...
什麼是開閉原則 軟體實體應該對擴展開放,對修改關閉 開閉原則的解釋就是這麼簡單。 以現實中遇到實現開閉原則的例子為例: Chrome 和 VS Code都是...
前一天我們有提到SOLID,我們今天就來談談為啥我們需要了解SOLID? 他能幫助我們甚麼? SOLID是一種設計原則,主要是透過觀念讓團隊降機Code Rev...
Why SOLID? 在前一篇文章中介紹 SOLID 對一個工程師的影響,這裡再稍微補充一下為什麼軟體開發會需要 SOLID 原則? 軟體複雜的本質 專案經常會...
前言 為了感謝部落格一直以來都有人在閱讀,讓我一直有經營下去的動力。所以想寫一個系列 學習 SOLID 原則 2 年後的心得文章。這心得文章包含自己使用 SOL...
大家應該有發現我們一天一天往進階的內容邁進,很快我們就要開始談高大上的架構問題了。 但是在開始討論如何建構一個好的 Android app 架構之前,想先跟大家...
昨天有提到物件模型可以幫助我們分解需求、設計系統、實作系統。於1980年代在大型系統設計中有很多研究提出很多設計原則,Robert C. Martin整理了很多...
開始看 Design Patterns/Architectural Patterns 之前,我們先來建立一些基本知識。 SOLID 原則 物件導向的世界中,有所...
在前文物件導向的特性中,提到物件導向設計本身具有封裝、繼承、多型、抽象這些特性。 知道物件導向的特性,就可以寫出具備閱讀性、維謢性、擴充性的程式碼?答案是肯定的...
今天要談的是物件導向的幾個基本性質以及衍生出來的特性。 筆者相信,即便是寫了一年以上的程式,不懂物件導向的人也還是很多,光從學校的教科書來看,似乎也不是那麼容易...