國立臺灣大學資訊系統訓練班課程頁面

課程簡介

如果擴充與維護的成本高得無法接受

那麼某個專案的成功也不過是曇花一現

本課程將帶領同學學習函式語言程式設計下的程式碼 (functional programming) 轉換到物件導向程式設計 (object-oriented programming) 的幾種小技巧。 並且將在考慮各種關於維護、彈性與擴充的取捨,與同學介紹常見的數種設計模式,以及其通用設計與實作 Python 時的差別。

課程大綱

程式設計和腦經急轉彎差不多

並不見得說非得要有明確的答案

根據不同觀點,解法會有很多種

有精明的解法、自由的解法

也有繞著彎路漸漸接近正確的解法

只要符合需求的話,那就是很棒的

  • 函式語言程式設計 (functional programming) 轉換至物件導向程式設計 (object-oriented programming)
  • 常見敏捷開發原則與設計守則
  • 常見設計模式之應用
    • 工廠模式 (factory method pattern)
    • 樣板方法模式 (template method pattern)
    • 獨體模式 (singleton pattern)
    • 策略模式 (strategy pattern)
    • 轉接器模式 (adapter pattern)
  • 簡報

備註

  • 本課程以中文教材為主,但仍有部分文字語言為英文,同時教材僅部分使用。
  • 本課程預計會安排程式考試一次。
  • 實際授課內容需視課堂學員學習情況而定。
  • 為配合當下最新 Python 版本,本課程不建議學員使用虛擬環境。
  • 本課程會提供雲端硬碟供學員下載上課的程式碼,於課程結束後一週關閉。

適合對象

  • 嫻熟於使用 Python 者

開發環境

環境版本
Python3.8.5
NumPy1.19.1
SciPy1.5.2
influxdb5.3.0
Table of Contents