8

ファイル -> 仮想アクションでコントローラーを生成するために使用される ASP.NET MVC プロジェクトの新しいプロジェクト。それが MVC 2 または MVC 3 で停止したかどうかはわかりませんが、これはもはやベスト プラクティスではありませんか?

4

4 に答える 4

8

T4MVCアクション メソッドを仮想化します。それを使用している場合は、アクションメソッドを仮想にする必要があります。他の方法では機能しません

于 2011-06-04T20:30:07.903 に答える
3

ASP.NET MVC 3の現在のドキュメントには、仮想メソッドが示されていません。virtualアクションをオーバーライドするためにコントローラーをサブクラス化したことがないので、それらを作成することで何が得られるかはよくわかりません。

于 2011-06-04T19:22:47.380 に答える
1

それらを仮想化すると、テストで使用している場合にコントローラーを簡単にモックできます。

于 2011-06-04T19:54:44.070 に答える
1

生成されたコードは、さまざまな理由で仮想化される場合があります。何らかのツールで必要とされない限り、独自のコードを仮想化することはお勧めできません。Liskov の置換原理と Open/Closed の原理を参照してください。一部のフレームワークはプロキシの作成を容易にするためにこれを行うと思いますが、すべてのメソッドを仮想化する理由は想像できません。私にとって、それはコピー/貼り付けまたはカーゴカルトプログラマーを叫びます。

于 2016-02-19T15:40:59.630 に答える