[JAVA] Réfléchissez à la façon de diviser MVC en M et V

Récemment, dans MVC, la frontière entre M (modèle), V (vue) et C (contrôleur) a changé. Je pense que c'est ambigu en moi, alors J'ajouterai à cet article comment il doit être séparé de temps en temps.

Environnement auteur Java, `` `` SpringBoot, Thymeleef```

M et V

Faites attention à ne pas devenir une interface utilisateur intelligente. →http://d.hatena.ne.jp/minekoa/20100116/1263657955

1. N'utilisez pas `` = introduit pour les vues.

Par exemple, il existe une énumération appelée State

<div th:if="${model.state == State.SUCCESS}">Réussi!<div/> 

Si c'est le cas,

<div th:if="${model.isSuccess()}">Réussi!<div/> 

Je pense qu'il vaut mieux dire.

Autrement

model.état et état.Quand SUCCESS correspond, on dit qu'il réussit


 Je soupçonne que la logique métier s'infiltre dans la vue.
 View n'a pas besoin de le savoir.

## 2. Jugement et traitement dans le modèle, méthode d'expression dans la vue (WIP)

# M et C
## 1. La validation est un modèle (WIP)
 La validation est implémentée dans le modèle.
 Dans le contrôleur, seule la destination de la transition est modifiée lorsqu'une erreur de validation se produit.


Recommended Posts

Réfléchissez à la façon de diviser MVC en M et V
Comment penser quand on comprend soudainement les génériques
À propos de TestSize préconisé par Google et comment réaliser TestSize par Java et Maven
Comment traduire enum en japonais et générer des boutons radio liés
Comment penser la conception de classe (division) dans un système d'entreprise (1)
Comment utiliser StringBurrer et Arrays.toString.
Comment utiliser EventBus3 et ThreadMode
Comment appeler des classes et des méthodes
Comment connecter Heroku et Sequel
Comment convertir LocalDate et Timestamp
J'étais curieux de savoir comment utiliser correctement Optional orElse () et orElseGet ().
AtCoder s'appelle TLE et explique comment écrire du beau code
Comment utiliser OrientJS et OrientDB ensemble
[Core ML] Comment convertir YOLO v3 en Core ML
[Java] Comment sortir et écrire des fichiers!
Comment créer SquashTM et comment prendre en charge le japonais
Comment trouver les dizaines et les unités
[Facile] Comment mettre à niveau Ruby et le bundler
Comment utiliser les méthodes substring et substr
[Spring MVC] Comment transmettre des variables de chemin
[Rails] Comment traduire la devise en japonais
Comment utiliser @Builder et @NoArgsConstructor ensemble