java - 在SpringMVC的Controller层处理业务逻辑好吗?
天蓬老师
天蓬老师 2017-04-17 18:01:27
0
7
835

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

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全員に返信(7)
阿神

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

いいねを押す +0
洪涛

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

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

いいねを押す +0
Peter_Zhu

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

いいねを押す +0
Ty80

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

いいねを押す +0
Peter_Zhu

リーリー

いいねを押す +0
左手右手慢动作

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

いいねを押す +0
洪涛

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

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート