[英]Flutter Design pattern : Are there any top recommended?
我來自 Android 開發背景,我是 Flutter 的新手,我了解它的基本層次結構小部件概念和庫。 就像 Android 有 MVP、MVVM 和 MVI 等設計模式一樣,Flutter 編程有什么流行的設計模式嗎?
Flutter 應用程序適用於狀態和流,據我所知,這里有兩種主要模式,redux 和 BLoC。
Redux是一個Application State管理框架。 換句話說,它的主要目標是管理一個 State。 Redux 的架構圍繞以下原則:
單向數據流
一店
Store 就像 Redux 的協調器。 商店:
行動
操作是商店訪問點接受的唯一輸入類型。 中間件和 Reducer 使用 Actions 與當前 State 結合來處理一些 function,這可能導致修改 Z46A2A41CC6E552044816A2D04634554
行動只描述發生了什么
中間件
中間件是 function,通常旨在基於 Action 異步運行(但不一定)。 中間件僅使用 State(或作為觸發器的操作),但不會更改 State。
減速機
Reducer 通常是一個同步的 function,它基於組合 Action - State 進行一些處理。 處理的結果可能會導致新的 State。 減速機是唯一允許更改 State 的。
你可以在這里找到更多關於 redux 的信息
BLoC 模式不需要任何外部庫或 package,因為它僅依賴於 Streams 的使用。 但是,對於更友好的功能(例如主題),它經常與RxDart package結合使用。
BLoC 模式依賴於:
流控制器
StreamController 公開 StreamSink 以將數據注入 Stream 和 Stream 以偵聽數據,在 Stream 中流動。
流生成器
StreamBuilder 是一個 Widget,它監聽 stream 並在 Stream 發出新數據時重建。
流訂閱
StreamSubscription 允許監聽 stream 發出的數據並做出反應。
塊提供者
BlocProvider 是一種方便的 Widget,通常用於保存 BLoC 並使其可供后代 Widget 使用。
這是一篇關於Flutter BLoc的文章
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.