<wbr id="jl7f7"></wbr>

        <i id="jl7f7"></i>
          <acronym id="jl7f7"></acronym>

          <s id="jl7f7"></s>

          <ins id="jl7f7"></ins><button id="jl7f7"><strong id="jl7f7"></strong></button>
          鍍金池/ 教程/ Android/ Repositories
          Custom observables
          Compiled functions
          Reactive programming
          Reservoirs and parallelism
          Incrementally Agerifying legacy code
          Observables and updatables
          Compiled repositories
          Repositories

          Repositories

          如[上一篇所講, Repository是一個(gè)被觀(guān)察者(Observable),可以提供數據,還可以定義在提供數據發(fā)生變化時(shí)的事件。

          獲取數據方法:Repository.get().

          簡(jiǎn)單的 repositories

          簡(jiǎn)單的repository可以使用Repositories類(lèi)中的工具方法來(lái)創(chuàng )建。
          有如下選擇:

          • static repository:提供相同的數據源而且不生成通知事件,只有g(shù)et()方法;
          • mutable repository:可提供變化的數據源(accept輸入->get輸出),數據變化時(shí)生成通知事件(依賴(lài)方法Object.equals(Object)).

          本質(zhì)上說(shuō),簡(jiǎn)單的repository總是提供最新數據,不論它們是否被激活。

          private void setUpRepository() {
          
              mRepository = Repositories.repository(object);
              // or
              mRepository = Repositories.mutableRepository(object);
          }

          復雜的 repositories

          復雜的數據倉庫(Repository)可以響應其他數據倉庫(Repositories)、任意被觀(guān)察者(Observables)(也可以是該Repository的事件), 并把從其他數據源獲取的數據經(jīng)過(guò)同步或者異步內部轉換處理后作為數據倉庫(Repository)的產(chǎn)出值。

          從響應事件中數據倉庫(Repository)的數據提供者總保持數據最新的,但由于處理的復雜性,在數據倉庫(Repository)不活動(dòng)時(shí),可以選擇不保持數據為最新的。

          任何數據消費者都需要通過(guò)注冊觀(guān)察者(Updatable)來(lái)表示自己需要讀取數據的意圖。

          數據倉庫(Repository)進(jìn)入活動(dòng)狀態(tài),但數據不用立即更新,消費者看到的數據仍然是舊的,直到數據倉庫(Repository)分發(fā)第一個(gè)事件。

          Agera 提供了repository compiler類(lèi),幫助以接近自然語(yǔ)言的表達式來(lái)聲明、實(shí)現復雜的數據倉庫(Repository)。

          日韩性做爰免费a片aa片,天天躁恨恨躁夜躁2020,精品久久综合1区2区3区激情,精产国品一二三产品麻豆

          <wbr id="jl7f7"></wbr>

                <i id="jl7f7"></i>
                  <acronym id="jl7f7"></acronym>

                  <s id="jl7f7"></s>

                  <ins id="jl7f7"></ins><button id="jl7f7"><strong id="jl7f7"></strong></button>