跳到主內容

架構設計模式

一系列關於構建 Flutter 應用時常用設計模式的文章。

如果你已經閱讀了架構指南頁面,或者你對 Flutter 和 MVVM 模式比較熟悉,那麼以下文章非常適合你。

這些文章討論的不是高層級的應用架構,而是關於解決特定的設計問題,從而改善應用的現有程式碼庫,無論你採用何種架構。話雖如此,文章中的程式碼示例確實假設你遵循了前幾頁中介紹的 MVVM 模式。

在構建使用者體驗時,效能的感知往往與程式碼的實際效能同等重要。通常,使用者不喜歡為了檢視結果而等待操作完成,任何超過幾毫秒的延遲從使用者的角度來看都可能被認為是“緩慢”或“無響應”的。

開發者可以透過在後臺任務完全完成之前展示一個成功的 UI 狀態,來幫助緩解這種負面感受。例如,點選“訂閱”按鈕後,即使後臺請求尚未返回,按鈕也會立即變為“已訂閱”,即使後臺呼叫……

閱讀全文

大多數 Flutter 應用,無論規模大小,在某些時候都需要在使用者裝置上儲存資料,例如 API 金鑰、使用者偏好設定或需要離線使用的資料。

在本指南中,你將學習如何為使用推薦的 Flutter 架構設計的應用整合鍵值資料的持久化儲存。如果你完全不熟悉如何將資料儲存到磁碟,可以閱讀 將鍵值資料儲存在磁碟上 的指南。

鍵值儲存通常用於儲存簡單資料(如應用配置),在本指南中你將……

閱讀全文

大多數 Flutter 應用,無論規模大小,在某些時候都可能需要在使用者裝置上儲存資料。例如,API 金鑰、使用者偏好設定或需要離線使用的資料。

在本指南中,你將學習如何按照 Flutter 架構設計模式,在應用中使用 SQL 整合複雜資料的持久化儲存。

要了解如何儲存簡單的鍵值資料,請檢視 Cookbook 指南:持久化儲存架構:鍵值資料

閱讀本指南前,你應該熟悉 SQL 和 SQLite。如果需要幫助,你……

閱讀全文

離線優先應用是指在斷開網際網路連線時,仍能提供大部分或全部功能的應用程式。離線優先應用通常依賴已儲存的資料,為使用者提供對原本只能在線訪問的資料的臨時訪問許可權。

一些離線優先應用無縫結合了本地和遠端資料,而另一些應用則會在使用快取資料時通知使用者。同樣,一些應用在後臺同步資料,而另一些則需要使用者明確觸發同步。這完全取決於應用的需求及其提供的功能,它是……

閱讀全文

模型-檢視-檢視模型 (MVVM) 是一種將應用功能分為三個部分的設計模式:模型 (Model)、檢視模型 (ViewModel) 和檢視 (View)。檢視和檢視模型構成了應用的 UI 層。倉庫 (Repositories) 和服務 (Services) 代表了應用的資料層,即 MVVM 中的模型層。

命令是一個封裝了方法的類,有助於處理該方法在執行、完成和報錯等不同階段的狀態。

檢視模型可以使用命令來處理互動和執行操作。你還可以利用它們來顯示不同的 UI 狀態,……

閱讀全文

Dart 提供了一種內建的錯誤處理機制,能夠丟擲和捕獲異常。

正如 錯誤處理文件 中所提到的,Dart 的異常是未受檢異常。這意味著丟擲異常的方法無需宣告它們,呼叫方也不強制要求捕獲它們。

這可能導致異常未被妥善處理的情況。在大型專案中,開發者可能會忘記捕獲異常,並且不同的應用層和元件可能會丟擲未記錄的異常。這可能導致錯誤和崩潰。

在本指南中,你將瞭解這一侷限性,以及……

閱讀全文