0

私は現在、MVC と AngularJS を学ぶ方法として、また別のクライアントのためのより大きなプロジェクトの準備として、クライアントの小さなモバイル ページを自分の金で再構築しています。私が学習しているページは、ピタ レストラン用の単一ページのオンライン注文アプリです。ピタのリストから選択できます。次に、2 番目のビューで、さまざまな野菜、チーズ、ソースなどでピタをカスタマイズできます。次に、注文を送信できるフォームである 3 番目のビューが続きます。

私の質問はモデルについてです。メニュー項目 (ピタとトッピング) のデータベースから出力を取得し、Angular が解析してユーザーに表示するためのモデルである JSON ファイルを生成するシステムを構築しましたが、ユーザーの選択がどこで行われるのか興味があります。保管されます。

ユーザーの選択専用に別のモデルを作成するか、元のデータに加えてユーザーの選択を保持するように元のモデルを変更しますか?

4

1 に答える 1

2

これは、多くの変数があるという意味で、やや複雑な質問です。決定にどのようにアプローチするかをレイアウトします。

クライアントに渡される既存のモデルを変更することには、いくつかの意味があります。

まず、別のモデルを扱う必要はありませんが、そのモデルは 1 つのことに焦点を当てていません (SRP 違反)。私のドメイン内のモデルと、それが別のもの、順序との関係を指定しています。これは、異なる時間/状況で異なるものを表すという意味で、オブジェクトが奇妙な状態になることにつながります。

次に、オーダーに接続されている可能性のあるすべてのモデルに対してこれを行う必要があります。上記の問題を乗算します。

注文を表す新しいモデルを作成することは、対処する別のモデルを意味します (それを管理するための API/サービスも作成します)。プラス面は、注文の追跡という 1 つのことに集中できることです。これは、私の他のモデルを変更する必要がなく、オブジェクトが本当に何を表しているかを常に知っていることを意味します。

私は明らかに新しいモデルの作成に傾倒しています。なぜなら、それは拡張可能/柔軟であり、理解/サポートがより明確だからです。

これは、Ng や MVC、JSON とはあまり関係がありません。それは、ドメインを最も正確かつ明確に表すモデルを作成することと関係があります。

詳細を考えると、他の考慮事項もあるかもしれません。コメントでお知らせください。

于 2013-10-13T06:26:04.633 に答える