170 похожих чатов

Есть сущность статус заказа. У нее есть состояния. Всю историю

состояний нужно сохранять. Вопрос вот в чем. Как лучше организовать логику этой сущности. Куда поместить условия для изменения статуса, например отмененный заказ нельзя вернуть и т.д. В сервисный слой или оставить в ней? Статусы я думаю помещать в стек в самой сущности. Статусы это объекты-значения. П.с. проект для саморазвития. Хочется немного в абстракциях потренироваться.

4 ответов

16 просмотров

https://habr.com/ru/post/160105/

Sergey- Автор вопроса

Немного не то, вопрос в проверке и смены состояний не стоит, да и состояния не совсем меняются, они больше добавляются. Если следовать тем практикам, зачем выходить из состояния Created например.

Ну потому что created это обычно только что созданый обьект, из этого состояния он переходит в следующие. Не знаю какую вы логику закладываете

Sergey- Автор вопроса

Ну смотря что понимать под состоянием. Вкл выкл - состояние. В том примере как раз этот случай.

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта