既存のコントローラーにアクションを追加する代わりに、新しいコントローラーを作成することにした理由は何ですか?どこに線を引き、なぜですか?
3 に答える
新しいコントローラーをいつ作成するかを決定する主な要因は、それらが実行するロジック/機能です。関心の分離を確認する必要があります:
public class ProfileController { }
public class MainController { }
public class AccountController { }
public class ShoppingCartController { }
以前の各コントローラーは、対応するドメインサービス/モデルとそれらのビューの間の通信を調整するために使用されます。
確かに理解できないのは、アクションの数です¹。少なくとも、「ああ、このコントローラーでは50を超えるアクションがあります。別のアクションを開始しましょう」という意味で、
ガイドライン²は次のようになります。コントローラーは、同じタイプのオブジェクトを操作するアクションの論理グループです(同じタイプのモデルの方が適切な定義である可能性があります)。モデルの機能が非常に豊富で、30の個別のアクションを実行できる場合は、先に進んでそれらを同じコントローラーに配置します。
コインの反対側:単純なモデルがあり、それぞれがわずかなアクションでコントローラーを作成していることに気付いた場合、それは心配する理由ではなく、アプリケーションの保守性に満足する理由になるはずです。
ノート:
¹もちろん、その数のアクションを持つコントローラーは、コードの悪用の可能性を示す危険信号であるため、その数を考慮に入れる必要があります。これは、ある種の厳格なルールではありません。
²そしてそれは本当にガイドラインです-ここでの目的は、いくつかの宗教的な経典に従うのではなく、維持可能なシステムを構築することです。
一般的な経験則として、私はすべてのアクションをできるだけシンプルに保ちます。アクションが大きくなったり多すぎたりした場合は、ヘルパーヘルパー関数を作成できるかどうかを確認します。
必要に応じて、DBエンティティごとにコントローラーがあります。
たとえば、ユーザーコントローラー、カートコントローラー、アイテムコントローラーなどがあります。
特定のルールはないと思います。それはすべて論理的に保つことです。それがあなたにとって論理的であるならば、あなたがチームにいない限り、それは一般的にすべてが重要です、そしてそれは誰にとっても論理的である必要があります。
お役に立てれば。