2009-06-18 4 views
0

ビューに配置されたフレックスチャート用に構造化されたデータを表すxml出力を構築する必要があります。 私はいくつかのオプションがあります:ASP.Net mvcグラフのxmlデータフィードを構築する

  1. は、コントローラが(DBからのデータを使用して)XMLを作成し、すべての準備が整ったことから、実際には何もしませんビューに戻しています。

  2. DBからデータモデルに強く型付けされたビューを持ち、XMLを宣言的にビューに表示します。

  3. xmlを作成してビューで使用するロジックを含むHtml拡張メソッドを作成します。

という懸念から、最良の選択肢は何ですか? 今後、私はxml構造に多くの変更を期待していません。 私はよりテスト可能なので、オプション1を選択する傾向があり、xmlデータを準備するコントローラーがより快適に感じられます。

答えて

0

私はMVCパターンに最適だと思うので、オプション番号1に行ってみましょう。一部のデータモデルに基づいてXMLファイルを作成するのは、ビューの責任ではありません。それはビジネスロジックであり、そのためコントローラではより良い結果が得られます。

あなたのコントローラがxmlファイルを作成している場合は、出力XMLが有効であること、すべての必要なノードが含まれていることを主張する単体テストを作成することができます。

+0

に役立ちます願っています。コントローラの一部としてロジックを書くことは簡単で、テスト可能であり、一般的にコントローラのコンセプトに合っていると感じます。ありがとう。 – Ami

0

オプション2が最適です。あなたのモデルにはデータがあり、コントローラーはそれを求めてビューに提供します。ビューには、どこに行くのかを示すタグがあります。それは私には懸念の分離です。

Razzieの答えを見ると、私も1が好きでした。強く型付けされたビューができるようにするために、モデルがいくつかのエンティティクラス(チャート結果)をXMLにシリアライズするためのメソッドを提供しなければならないと思いますそれを利用する。

私は答えが役に立ったら、基本的に私は3がとても良いとは思わないと思います。 :-)

0

私は、オプション1と2の両方が実行可能なので、あなたがより快適であるかどうかにかかっています。 XmlWriterを使用して返される有効なxmlがあることを確認し、mvcがビュー内でレンダリングされているものを完全に制御しているため、オプション2が有効であると言うように、オプション1は良いと言いますこれはxmlでもかまいません)。

しかし、私は個人的にコントローラから独立した機能を保ち、データを取り込んでxmlを出力するスタンドアロンのユーティリティメソッドとして、オプション1のバリエーションを利用します。これはテストが簡単になりますが、今後必要になる場合はコード内の他の場所から呼び出すこともできます。これに加えて、コントローラ内のコードをきれいに保ちます。

私はマークに同意します。私はオプション3は良い方法だとは思いません。ちょうど私の考えだ

が、これは私がこれであなたと同意する傾向がある:-)

関連する問題