[JAVA] Überlegen Sie, wie Sie MVC in M und V unterteilen können

In MVC wurde kürzlich die Grenze zwischen M (Modell), V (Ansicht) und C (Controller) geändert. Ich denke, es ist mehrdeutig in mir, also Ich werde diesem Artikel hinzufügen, wie es von Zeit zu Zeit getrennt werden sollte.

Autorenumgebung `Java```,` SpringBoot, `` `Thymeleef

M und V.

Achten Sie darauf, keine intelligente Benutzeroberfläche zu werden. →http://d.hatena.ne.jp/minekoa/20100116/1263657955

1. Verwenden Sie nicht `` = eingeführt für Ansichten.

Zum Beispiel gibt es eine Aufzählung namens State

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

Wenn ja,

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

Ich denke es ist besser zu sagen.

Andernfalls

model.Staat und Staat.Wenn SUCCESS übereinstimmt, gilt dies als erfolgreich


 Ich vermute, dass Geschäftslogik in die Sicht eindringt.
 View muss das nicht wissen.

## 2. Beurteilung und Verarbeitung im Modell, Ausdrucksmethode in der Ansicht (WIP)

# M und C.
## 1. Validierung ist ein Modell (WIP)
 Die Validierung ist im Modell implementiert.
 In der Steuerung wird nur das Übergangsziel geändert, wenn ein Validierungsfehler auftritt.


Recommended Posts

Überlegen Sie, wie Sie MVC in M und V unterteilen können
Wie man denkt, wenn man plötzlich etwas über Generika versteht
Informationen zu TestSize, das von Google empfohlen wird, und zur Realisierung von TestSize durch Java und Maven
So übersetzen Sie Enum ins Japanische und generieren verknüpfte Optionsfelder
Wie man über Klassengestaltung (Division) in einem Geschäftssystem nachdenkt (1)
Verwendung von StringBurrer und Arrays.toString.
Verwendung von EventBus3 und ThreadMode
Aufrufen von Klassen und Methoden
So verbinden Sie Heroku und Sequel
So konvertieren Sie LocalDate und Timestamp
Ich war neugierig, wie man Optional orElse () und orElseGet () richtig verwendet.
AtCoder heißt TLE und spricht darüber, wie man schönen Code schreibt
Verwendung von OrientJS und OrientDB zusammen
[Core ML] So konvertieren Sie YOLO v3 in Core ML
[Java] Wie man Dateien ausgibt und schreibt!
Wie man SquashTM baut und wie man Japanisch unterstützt
Wie man die Zehner und Einsen findet
[Einfach] So aktualisieren Sie Ruby und Bundler
Verwendung von Teilzeichenfolgen und Substratmethoden
[Spring MVC] Übergeben von Pfadvariablen
[Rails] Wie man Geräte ins Japanische übersetzt
Verwendung von @Builder und @NoArgsConstructor zusammen