[英]Bloc Pattern: Every screen gets its own bloc?
我正在學習Flutter
的 bloc 模式,似乎有一條反復出現的建議“每個屏幕都應該有自己的 bloc”。
但是,如果您向服務器查詢將在多個屏幕中使用的數據怎么辦? 為同一條數據多次訪問服務器似乎是多余的,甚至是浪費的,特別是如果您知道數據沒有改變(例如,當沒有使用改變/更新它的操作時)。
無論如何,您是否可以以某種方式保存該數據以重用它? 在存儲庫級別以這種方式存儲數據是個好主意嗎? 或者這只是使用集團的公認成本?
架構決策總是高度自以為是,沒有靈丹妙葯。
好吧,給你。
場外是的。 您可以按照以下方式構建您的應用程序。
小部件 -> Bloc -> 存儲庫 -> 本地數據庫/遠程 API
因此,您的 bloc 永遠不會直接進行任何 API 調用,但您的 repo 層會這樣做。 因此,repo 層可以決定是從遠程 API 還是本地 DB 甚至內存緩存中獲取數據。 這樣,您可以在應用程序的多個屏幕上重用已經緩存的數據。
有趣的是,如果您以這種方式構建您的應用程序,那么對您的代碼進行單元測試將變得非常容易。
是的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.