2009-05-04 8 views
3

私はASP.MVCにかなり新しいです。一次ビューのコード生成器として利用できるビューエンジン(デフォルト1などNVelocity、点字、)の一部を使用してASP.MVC:テンプレート化されていないビューエンジンを実装していますか?

  1. :私たちの新しいWebアプリケーションのために私はビューエンジンには2つのオプションの間で検討しています。
  2. HTMLコードを生成するためのアプリケーション固有のC#DSLを実装して、ビューコードの主な部分が(ある種のsmart HTML generation like the one described by Jimmy Bogardを使用して)C#クラスに格納されるようにします。

2つ目のアイデアは、新しいビューが必要なたびに直接HTMLコードを書く必要性を減らすことですが、これが良いアプローチであるかどうかはわかりません。その欠点の1つは、プロジェクトを再コンパイルせずに生成されたコードを変更することができないことです。

あなたはどう思いますか?

答えて

2

私は他のプロジェクトで使用されるこのようなアプローチを見てきた、と一般的に、彼らは、彼らが価値だより多くの悩みです。あなたが失う柔軟性は、世代段階の自動性に払うには高すぎます。 1つの特殊ケースに適用するために必要な条件がどれくらいの頻度で出てくるかを考えてみましょう。ここでどのように処理する必要があるか想像してみてください。

さらに、あなたの意見がそれほど大きな痛みを引き起こしている場合は、正しくビューを使用していない可能性があります。あなたは、サイト全体であなたのビューで非常に小さな繰り返しを参照する必要があります。一般的な作品は別の塊にリファクタリングし、そこから引き出す必要があります。

+0

あなたが必要な柔軟性の量は、アプリケーションの性質にもよるがOK、柔軟性についてのあなたのポイントは、有効なものです。たとえば、互いに似ているWebページがたくさんあるWebアプリケーションを持つことができます。異なる種類のデータフィールドが表示されます(説明のためだけに、ウィザードのようなものです)。 –

+1

-1これはシーサイドで非常にうまく機能します。だから正しいことができます。 –

+0

Stephan:私は決してそれができないと言ったことはありません、ちょうどそれはおそらく悪い考えを示唆しています。一般的に、頻繁な繰り返しはコードの匂いになる可能性があります。 –

関連する問題