2

ASP.NET 2.0 を使用して、非常に似ているがまったく同じではない多くのサイトを構築する必要があります。

これらのサイトをすばやく簡単に生成するための最良の方法を見つけようとしています。

サイトはユーザーに関する情報を収集するために使用され、サイトごとに複数の手順があります。

どのサイトも同様の情報を収集しますが、必要な情報が他のサイトよりも少ない場合や多い場合があります。さらに、特定のフォーム フィールドは、サイトに基づいて、さまざまなデータベース テーブルから入力する必要があります。

Microsoft のパターンとプラクティスのソリューションを使用したいと考えていますが、このシナリオに適したソリューションがあるかどうかはわかりません。

現在の考えでは、できるだけ多くのビジネス ロジックを外部アセンブリに入れ、各サイトの各ステップのカスタム Web ユーザー コントロールを記述します。これらのユーザー コントロールをマスター ページの Panel コントロールに含めます。

各サイトが他のサイトのコードをほぼ複製するため、このソリューションは好きではありません。

このデザインを改善するにはどうすればよいですか?

主な障害は、サイトが類似しているが、十分に異なっていることです。

ありがとう!

アレックス

4

4 に答える 4

1

すべての一般的な機能を処理する基本クラスを作成し、サイト固有のコントロールにそれぞれの基本クラスから継承させてから、特定の実装を実装することができます。

于 2008-09-24T19:23:31.910 に答える
1

私たちは常にこの問題に直面しています。私たちがしていることは、すべてのサイトが使用する共通のライブラリを用意し、このライブラリのクラスまたはユーティリティ モジュールに共有機能を埋め込むことです。各サイトは、これらのオブジェクトまたはユーティリティ関数をそのまま使用するか、共通クラスを拡張できます。これらの共有クラスには、継承および拡張できるページやユーザー コントロールのコード ビハインドなど、あらゆる種類のものを含めることができることに注意してください。

ただし、アプリに何を入れ、共有ライブラリに何を入れるかを決めることは、私たちのビジネスで最も難しいことの 1 つです。それを共通ライブラリーに入れると、柔軟性が失われます。それをアプリに入れると、維持するコードが重複するリスクがあります。

データベースのセットアップがかなり複雑な場合は、XML で db スキーマを指定し、アプリでそのスキーマを強制し、その定義に基づいて必要な追加の SQL インフラストラクチャを構築するためのフレームワークを考え出すのに時間をかける価値があるかもしれません (例:ユーティリティ ビュー、ストアド プロシージャなど)。これを実行した結果、生産性が大幅に向上しました。

于 2008-09-24T19:56:16.713 に答える
0

DotNetNukeやmojoportalのようなアプリケーションフレームワークを使用するのはどうですか?どちらも柔軟性を提供し、共通の機能を備えたWebサイトを非常に迅速に開発できるようにします。必要な機能が異なる可能性があるカスタムモジュールを開発する必要があります。優れた機能を提供する購入可能な他の何千ものモジュールもあります。

ただし、WCSFを使用することを選択し、それを拡張しました。
上記のプロジェクトはすべてオープンソースであり、学ぶべきコードの良い例です。

遅い答えかもしれませんが、お役に立てば幸いです。

于 2009-02-05T23:39:18.840 に答える
0

モノレール (www.castleproject.org) を調べたことがありますか? これは、いくつかの優れたビュー エンジンを備えた Ruby on rails に似た、themvc パターンの実装です。私は Nvelocity を好みます。城プロジェクトからも、人生を本当に素晴らしいものにする ActiveRecord の n 実装を使用できます。そのトレイルにいる場合は、coln ramsay スクリーンキャストもご覧ください。

正直なところ、すべての ms ソリューションは非常に太っています。castleproject のもう 1 つの優れた点は、完全にオープン ソースであるため、コードから負荷を学習できることです。

于 2008-09-24T20:13:21.337 に答える