0

抽象クラスから継承する menu と menuItem を持つ単純なモデルがあります。

CRUD 操作を実行できる adminController を作成しました。

私がここで立ち往生しているのは、メニューとメニューアイテムのコントローラーを作成する必要があるということですか? menu と menuItem の両方が同じタイプから継承されているためです。一方、メソッドのような対応するビューは、Edit()異なる外観を持つことができます。Edit Menu または MenuItem を実行しようとしていることを確認するには、ビューをチェックインする必要があります。

しかし、エンティティごとにコントローラーを実装すると、コードが重複します。では、この種の操作用にコントローラーを設計するための最良のアプローチは何ですか?

4

2 に答える 2

0

残念ながら、答えは「場合による」です。

オブジェクトの種類に基づいて、同じ Menu コントローラーから、コントローラーで共通の操作を行い、ビューが型識別プロパティを使用して同じ HttpPost アクションを呼び出すことで、さまざまなビューにディスパッチできます。これは、OO アーキテクチャをパブリック API サーフェスに公開する設計です。

または、これらは別個のドメイン エンティティであるため、独自の CRUD 操作スイートを使用して 2 つのコントローラーを公開し、より REST に似た API サーフェスを持つことができます。

独立したエンドポイントまたはセキュリティ ポリシーの差別化を提供するためのコードの複製は、パブリック API サーフェスに相当するものであり、他の場所よりも臭いが少なくなります。

于 2013-10-24T18:07:31.640 に答える