用C#學習物件導向設計 2:開放封閉原則開放封閉原則( Open Closed Principle,OCP )說明了在一個類別/模組/函式,應該能開放擴充但封閉修改;換言之,若要新增一個系統功能,應該要增加新的程式碼,而不是修改既有的程式碼來擴充系統。接著可以來比較一下未採用 OCP 與採用 OCP 時的範例。Nov 20, 2020Nov 20, 2020
用C#學習物件導向設計原則 1:簡介從以前就蠻想好好的來整理下物件導向設計的相關概念,在寫完資料結構與演算法的系列文之後,終於可以來寫這個系列了。這篇文章為系列文的開頭,會介紹什麼是物件導向、為什麼要學習物件導向以及物件導向的重要特性等;最後會列出物件導向的設計原則作為系列文目錄,希望大家在過程中都能有收穫。Nov 8, 2020Nov 8, 2020
用JavaScript學習資料結構與演算法 10:動態規劃動態規劃(dynamic programming)是運籌學的一個分支,是求解決策過程(decision process)最優化的數學方法。本文會對動態規劃做簡單的介紹及其適用的情況,之後實作一個斐波那契數列來進行動態規劃的實現。Oct 9, 2020Oct 9, 2020
用JavaScript學習資料結構與演算法 9:圖形之前有介紹過了樹的原理與實作,而樹其實是圖型( graph ) 的一個特例,這篇就來介紹圖形的概念與實作。Aug 25, 2020Aug 25, 2020