物件導向的基本原則之一:單一職責原則,每一個類別裡它的職責應該只有一個,那麼在這樣的設計底下,很有可能類別只有一個函數。 例如: class Logger{...
在 Dart 中,所有的項目都是物件 (Object),包括函數 (Functions) 也是物件。我們可以將函數作為另一個函數的回傳值,也可以作為函數的參數。...
什麼是異步呢? 一般我們執行程式碼都是直接回傳值,這稱為同步;異步跟這行為相反,我們執行程式碼時,也許因為該段程式碼需要花費時間去執行、也或許需要等待資料,這個...
在 Dart 中有兩種異步類別,一種是 Future ,另一種則是 Stream ,在上一篇我們知道 Future 是針對耗時的工作,在工作完成時才回傳結果。並...
在 Dart2.7 新增關鍵字 extension ,用來替已經存在的類別擴充功能。 例如: toString(),是每一個類別都有的函數,我們若用在整數上,便...
在 Dart 中,每一個 *.dart 的檔案,都可以被其他檔案匯入 (import) 進來。無論是自己寫的程式碼,還是第三方的程式庫,都可以用關鍵字 impo...
如果想要產生一個一組一連串的數值,Dart 提供了產生器函數 (Generator Function)。 產生器函數有兩種,一種是同步產生器 (Synchron...
在開發程式的時候,無論是用 TDD 開發或是面對遺留代碼 (Legacy code),單元測試都是一個相當重要的工具。單元測試可以協助開發者確認每一個使用情境都...
物件導向中,public 函數可能會包含了外部相依,這個外部相依物件有可能是來自外部函式庫,沒有辦法直接修改裡面的數值,在我們要測試的項目中,外部相依就會變成一...
Metadata 是用來替函數、參數加上註解,在 dart:core/annotations.dart 中提供了兩個 metadata。 @override 當...