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

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

天蓬老师
天蓬老师

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

répondre à tous(7)
阿神

Standard MVC implémente la logique métier directement dans le contrôleur, mais dans les projets réels, il est toujours recommandé d'encapsuler la couche de service entre le contrôleur et les opérations de base de données.
D'une part, le contrôleur répond à différentes URL de requête, il y aura donc beaucoup de duplications de fonctionnalités, il est difficile à maintenir ;
D'autre part, vous devez considérer que vos fonctions de service peuvent être ; exposé à d'autres front-ends à l'avenir, comme d'autres interfaces d'entrée, ou différents terminaux (tels que APP, mobile H5, etc.) ; certains services pourront même être séparés et déployés indépendamment

;
洪涛

Très mauvais, il est très difficile à développer et la maintenabilité est également très mauvaise.

Le contrôleur doit être une couche mince et la logique métier doit être placée autant que possible dans la couche de service pour le traitement. Elle doit également être plus libre en termes de granularité et d'utilisation du service.

Peter_Zhu

Bien sûr, ce n'est pas bon. La couche contrôleur est uniquement responsable de l'interaction des données métier, et la logique métier est gérée par la couche service

Ty80

La couche Contrôleur du projet que j'ai repris maintenant est également extrêmement volumineuse. Une méthode comporte des centaines de lignes, et il y a plusieurs couches d'imbrication. Je pense que le plus gros problème avec cela est que ce sera très gênant. maintenance ultérieure. Vous devez comprendre la logique métier précédente. Personnellement, je pense que la meilleure méthode est contrôleur-service-dao, avec un service responsable d'opérations logiques spécifiques. Les trois sont appelés dans l'ordre et découplés les uns des autres. possible ; le code doit être aussi extensible que possible.

Peter_Zhu
一般controller层=》Service层=》Dao层。
1.controller层,接受请求,进行分页,DTO对象封装操作。
2.service层,执行逻辑,控制并发,事务。
3.Dao层,与数据库交互。
左手右手慢动作

Même s'il est mis en service, ce sera toujours le bordel. . Il faut encore d'autres méthodes pour éviter les situations commerciales complexes et une mauvaise maintenabilité du code

洪涛

Laissez un collègue regarder le code aujourd'hui. La première chose qu'il a dite était que vous devriez mettre le code du contrôleur dans le service ;=_=;
Cela dépend principalement de la complexité de l'entreprise. affaire très simple, alors il n'y a pas besoin du contrôleur au service en passant par le dao ; cela dépend aussi des spécifications de développement de toute l'équipe

;
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal