2017-03-27 6 views
-1

私はから来ています。 world。新しいコントローラのインスタンスWebサーバへの各&すべての着信要求 のために作成され、その結果がレンダリングされます。 Javaですべての着信要求を処理するために使用されたコントローラは1つだけです。

.NET

は、Webアプリケーション(MVC)であること、かなり確信して、ために知っています。

詳細はSO Question & Answerを参照してください。

はしかし、私はのJava Webアプリケーションを開発することについてだと、これを聞いてショックを受けた。

のJava:つのコントローラインスタンスは、各&すべての受信 の要求にサービスを提供するために使用されますウェブサーバ。 (シングルトン)

また、上記の記述が真であることを知りたいと思った。 Here

私が知っている限り、MVCはフレームワークであり、実装言語とは独立しています。

なぜこの不一致がありますか? ここで何かが欠落していますか?

+0

@downvoters:あなたの投票とコメントを残して気軽にしてください。 –

+0

javaでは、1つのコントローラを使用して多数の要求を処理したり、各要求に対して個別のコントローラを作成することができます。それは完全にあなたまでです。 –

+0

あなたは正しいです、それは独立しています。必要な数のコントローラーを実装するのはあなたの選択です。私はあなたが春から来ていると思います。フレームワークはすでに実装されており、その構造を使用する必要があります。 –

答えて

1

このような理由がわからないのですが、私はいくつかの賛否両論について考えることができます。あなたが要求

  • の多くを取得しているときのものに影響を与える可能性があり

    Javaの道のプロ

    • 回避オブジェクトの作成は、あなたが

    Javaの道の短所

    コントローラ
  • 内の状態を維持することができます
    • コントローラーの内部に状態を保持することができます。オブジェクトがマルチスレッド化されているので、コントローラ内部に保持している状態(強く推奨されない)がスレッドセーフな方法で使用されていることを確認する必要があります。これは必ずしも明白ではなく、バグを引き起こす可能性があります。

    .NETの道のプロを

    • シンプル
    • 国家はいかなる特定のスレッドセーフなコードなしで要求(「セミグローバル変数」の一種)の期間中、対象に維持することができます。直前の状態から状態を見ている次の要求のチャンス(Javaがコントローラ内の状態の保持を邪魔している理由の1つ)。

    。おそらく一度

    であまりにも他人の要求の多くを扱う場合NETの方法の短所

    • は(マイナー)の問題かもしれませんが、これらは、私は私の頭の上から考えることができます。この違いは、デザインの決定による可能性があります。これは、追跡が不可能な場合があります。しかし、コメントで説明されているように、どちらの方法も「正しい」ものではありません。 MVCはにはを必要としません。

    関連する問題