Im MVC-Muster entwickeln wir eine REST
-Anwendung.Schreiben von Entscheidungsaussagen auf Kontrollschicht
Die Serviceschicht gibt Optional<T>
zurück, wobei T jede Klasse sein könnte.
Also auf REST
Controller
Schicht gibt es eine bedingte Anweisung, die prüft, ob das Ergebnis Optional.empty
ist, dann zurück []
sonst tatsächliche Daten zurückgeben.
return ABCService.getById("").map(send actual data).orElse(Collections.empty());
Es ist eine schlechte Übung, diesen Code auf der Kontrollschicht zu schreiben ??
Wir geben Optional<T>
zurück, weil wir nicht null
zurückgeben möchten. Wenn wir diese Bedingung nicht auf der Control-Ebene verwenden, müssen wir auch Optional
aus der Service-Ebene entfernen, was meiner Meinung nach keine gute Vorgehensweise ist.
Kann jemand bitte erklären, warum das Hinzufügen von oben Code nicht eine gute Praxis ist, was könnte Folgen?
Es ist irritierend, dass "Do Something" und "Do Something ELSE" sind * Werte *, die die Intention von "map" und "orselse" entspricht, während ihre Inhalte vorschlagen, dass Sie tatsächlich eine Aktion beschreiben. – Holger
Es ist eine schlechte Übung, wenn der Code keine Präsentationslogik ist und daher nicht im Controller enthalten sein sollte. Es ist eine gute Übung, wenn der Code eine Präsentationslogik ist und sich daher im Controller befinden sollte. Es hängt also alles davon ab, was ETWAS ETWAS IST und ETWAS SONST AUCH TUN. –
Aktualisiert meine Frage. –