文字列のリストを保持する DataService があります。
リストは高速に返される必要があるため、文字列のリストでメモリに保持しています。メモリを操作するためにGetListとSetListを使用しています。
リストはアプリの終了/廃棄に耐える必要があるため、ファイルにも保持しています。IsoStorage を操作するためにReadListとWriteListを使用しています。
リストはサーバーと同期する必要があるため、そのための非同期呼び出しがいくつかあります。サーバーとの同期にPushListとPullListを使用します。
自転車を発明している気分です。スムーズな同期のパターンはありますか?
編集:これまでに得たもの。実際、必要なのはゲッターです
async List<Items> GetList()
{
if (list != null) return list; // get from memory
var listFromIso = await IsoManager.ReadListAsync();
if (listFromIso != null) return listFromIso; // get, well, from iso
var answer = await NetworkManager.PullListAsync(SERVER_REQUEST);
if (answer.Status = StatusOK) return answer.List; // get from.. guess where? :)
}
そしてセッターも、同じように逆にするだけ。あなたのアイデア/経験を共有してください。