2

これは MVVM を使用した初めてのアプリで、Caliburn.Micro も使用しています。過去 2 週間のように毎日 MVVM の設計について読んでいます。全体的なコンセプトは理解できたが、モデル部分の設計をどうするかで悩んでいる。その理由は、Web サービスからのデータ取得に対する私の要件です。

最も基本的なレベルのアプリ フローは次のとおりです。 初めてアプリを実行する場合:

アプリのインストール -> 薬局の検索 (Web サービス コール) -> 薬局の選択 (別の Web サービス コール) -> プロファイルの作成 (Web サービス コール) -> アプリのメイン ページ

初めて実行した後:

プロファイルを取得 (Web サービス コール) -> Load Pharmacy -> アプリのメイン ページ

したがって、(少なくともアプリのこの部分では) 最終的には次のようになります: -PharmacyList (薬局オブジェクトのリスト)

・薬局(オブジェクト)

-Profile (SubscriptionsList (ユーザーが購読している薬局のリスト) と Pharmacy オブジェクト (アプリのコンテキストを設定するリスト内の現在の薬局) を含むオブジェクト)

これらのオブジェクトはすべて、各オブジェクトのさまざまなプロパティを通じて、ある時点で互いに関連しています。場合によっては、オブジェクトのプロパティが別のオブジェクトの Web サービス呼び出しでパラメーターとして使用されます。

次のビューと対応するビュー モデルがあります。

Pharmacy Search: (薬局オブジェクトのリストを作成するための Web サービス呼び出しに使用される入力を受け入れます。

薬局の選択: (薬局の選択を可能にします。薬局オブジェクトのデータは、詳細な薬局情報を取得するための別の Web サービス呼び出しに使用されます。)

プロファイル: ユーザーはプロファイル データを入力し、現在の薬局を選択するか、別の薬局に登録することができます (さまざまな Web サービス呼び出しがここで行われます)。

MainView/View モデル: これは、ユーザーがプロファイルを作成した後のランディング ページであり、その後アプリに戻るたびに、このページには現在の薬局データとユーザー プロファイルが読み込まれます。

この時点から、他にもさまざまなオブジェクト、Web サービスなどがありますが、この点に到達する必要があります。

私の質問は、モデル (より具体的にはデータ層) をどのように構造化すればよいかということです。API から JSON データを取得するために、オブジェクト定義とそのオブジェクトに固有のサービス クラスを含む各オブジェクトに対して DataStore を使用する必要がありますか。それとも、すべてのオブジェクトの定義を含む 1 つの大きなデータ ストアを作成し、データを取得するために個別の Web サービス クラスを作成する必要がありますか? どちらの方法でも、データ ストアでモデルを定義するか、データ ストアを使用してモデルを取得および設定する必要がありますか?

現在、各オブジェクトのインスタンスを持ち、汎用 Web サービス クラスを呼び出す単一のデータ ストアを使用しています。これは効率的でもモジュール式でもないようです。

4

0 に答える 0