1

私が取り組んでいるプロジェクトには、あいまいに定義された究極の要件があります。「サイトは、他のクライアントに対して「スキン可能」であるべきです。

ご存知のように、ほとんどの場合、UI、ロジック、およびモデルの変更を行う必要があります。

別のクライアントをサイトに追加するには作業が必要であり、新しいスキンを作成するほど簡単ではないことを説明しました. また、未知で未定義のものを設計することは不可能であることも説明しました。

とはいえ、複雑になりすぎずに再利用できるようなデザインを考えたいと思います。

できるだけ多くのコントローラーとビューを共有できるようにしたいと考えています。

ユーザーがサイトにアクセスするために使用している URL に基づいて、別の一連のルート (別のコントローラーを指す) をロードしようと考えていました (これは可能ですか?)。私の考えでは、一連の基本コントローラーを定義し、サブサイトごとに継承できると考えていました。

私がやろうとしていることを行うためのより良い方法はありますか?

これは IoC コンテナーで実行できますか? そのようなアプローチに利点はありますか?

単一の MVC コードベースを共有し、異なるサイト間で大部分を再利用する必要がある状況を他の人はどのように処理していますか?

アドバイスやご意見をお寄せいただきありがとうございます。

4

1 に答える 1

3

最も簡単な開始方法は、サイトが異なるサーバーに存在する場合、クエリ変数または Web.config 値に基づいてマスター ページに異なる css ファイルをロードすることです。これを行う別の方法は、要求ドメインに基づいて css ファイルを返す ActionResult から継承する独自の CSSResult を作成することです。表示するビューをより細かく制御したい場合は、IViewEngine インターフェイスから継承するクラスを作成し、要求元のドメインに基づいてさまざまなビューを表示できます。

于 2009-10-09T14:22:48.390 に答える