Hej, czasami zdarza mi się spotkać kod który usuwa obiekt np z bazy danych(wiadomo zmiana flagi) i jednocześnie zwraca ten obiekt lub jego ID.
public Model removeModelById(ModelId id);
Zawsze zastanawiam się skąd bierze się taki pomysł.
Osobiście preferuje zwracanie optionala z błędem w sytuacji kiedy coś poszło nie tak (Nie można usunąć/ Model nie istnieje).
public Optional<ModelServiceError> removeModelById(ModelId id);
Dlaczego metoda remove(Id id) miała by zwracać obiekt który usunęła i który już nie istnieje.
W jakich przypadkach lub jaki jest sens zwracanie usuniętego obiektu lub jego id?