検索

ホームページ  >  に質問  >  本文

java - 在SpringMVC的Controller层处理业务逻辑好吗?

新接手的代码,发现在Controller里处理的逻辑就有几百行代码?又没有事务管理,这么做好吗?

天蓬老师天蓬老师2803日前838

全員に返信(7)返信します

  • 阿神

    阿神2017-04-17 18:03:27

    標準 MVC は、コントローラーにビジネス ロジックを直接実装しますが、実際のプロジェクトでは、コントローラーとデータベース操作の間のサービス層をカプセル化することが依然として推奨されます。
    一方で、コントローラーはさまざまなリクエスト URL に応答するため、機能の重複が多くなり、保守が困難になります。
    他方では、サービス機能が次のような場合があることを考慮する必要があります。将来的には、他のアプリケーション インターフェイスや別の端末 (APP、モバイル H5 など) などの他のフロントエンドに公開される可能性もあります。

    返事
    0
  • PHP中文网

    PHP中文网2017-04-17 18:03:27

    非常に悪く、拡張が非常に難しく、保守性も非常に悪いです。

    コントローラーはシンレイヤーであるべきであり、ビジネスロジックは可能な限りサービスレイヤーに配置して処理する必要があり、サービスの粒度やサービス利用の点でもより自由である必要があります。

    返事
    0
  • 天蓬老师

    天蓬老师2017-04-17 18:03:27

    もちろん、それは良くありません。コントローラー層はビジネスデータのやり取りのみを担当し、ビジネスロジックはサービス層によって処理されます。

    返事
    0
  • PHP中文网

    PHP中文网2017-04-17 18:03:27

    今引き継いだプロジェクトのController層も非常に大きく、1つのメソッドが数百行もあり、ifの入れ子が複数層になっており、非常に面倒になるのが最大の問題だと感じています。後のメンテナンスでは、前のビジネス ロジックを理解する必要があります。個人的には、特定の論理操作を担当するサービスを使用する方が良いと感じています。コードは可能な限り拡張可能である必要があります。

    返事
    0
  • 天蓬老师

    天蓬老师2017-04-17 18:03:27

    リーリー

    返事
    0
  • ringa_lee

    ringa_lee2017-04-17 18:03:27

    たとえ実用化されても、やはり混乱するでしょう。 。複雑なビジネス状況やコードの保守性の低下を回避するには、依然として他の方法が必要です

    返事
    0
  • PHP中文网

    PHP中文网2017-04-17 18:03:27

    今日同僚にコードを見てもらいましょう。彼が最初に言ったのは、サービスにコントローラー コードを配置する必要があるということでした。
    それは主にビジネスの複雑さによって異なります。非常に単純なビジネスであれば、必要はありません。コントローラーからサービス、そして Dao までは、チーム全体の開発仕様に依存します。

    返事
    0
  • キャンセル返事