Notice: file_put_contents(): Write of 4079 bytes failed with errno=28 No space left on device in /var/www/tgoop/post.php on line 50

Warning: file_put_contents(): Only 16384 of 20463 bytes written, possibly out of free disk space in /var/www/tgoop/post.php on line 50
Ivan in emacsway-chat@emacsway_chat P.6161
EMACSWAY_CHAT Telegram 6161
Ivan in emacsway-chat
oleg
На фронте вещи другого прядка, тем не менее они так же отражены Domain Logic По прежнему имплементит доменную логику, связаную с сущностями домена или сервисами домена Например возьмем тот же e-commerce и посчитать сумму в корзине - это будет CartService…
В чем заключается основная проблема.

Доменная Модель на сервере принимает одну Команду и производит от одного и более Доменных Событий.

Важно подчеркнуть, что Доменные События являются фактом изменения состояния Доменной Модели, т.е. они производятся Доменной Моделью, т.е. без Доменной Модели произвести Доменное Событие технически невозможно (кроме отдельных исключительных случаев).

При этом, если мы хотим иметь Доменные События реверсируемые, то нам необходимо атомарно реверсировать все события, произведённые одной Командой. Для этого события прошиваются идентификатором запроса обычно в виде CorrelationId.

Отсюда вывод - возможно одно из двух:

Вариант 1. Фронт располагает Доменной Моделью и производит Доменные События. При этом они становятся бесполезны для публичного API сервера, принимающего Команды. Они заходят на сервер в обход этого публичного API и мержатся в хранилище, если они, разумеется, не конфликтуют с Событиями конкурентных потоков.

При этом все События должны быть прошиты своими зависимостями на стороне клиента. Признаюсь, я пока не понимаю, как в этом случае может помочь Redux-like store, разве что https://github.com/m4ss1m0g/mediatr-ts

Вариант 2. Фронт не располагает Доменной Моделью и не способен производить Доменные События. При этом Фронт в состоянии производить Команды, отправлять их на сервер, и в режиме server-side event получать Доменные События с сервера. Но тогда получается, что Redux-like Store на самом деле работает не с Событиями, а с Командами, особенно в случае оптимистического интерфейса, что идет в разрез с его официальной документацией.

Либо же он действительно работает с Событиями, которые получает с сервера: Клиент -> Команда -> Сервер -> Доменная Модель -> Доменное Событие -> WebSocket -> Клиент -> Состояние Redux-like Store -> HTML.

И вот здесь вопрос в том, на что должен реагировать Store: оптимистично на Команду, или пессимистично на Доменное Событие с Сервера?

Но если он реагирует на Команду, тогда reducer является обработчиком Команды, и тогда не должно быть никаких Команд над Store. Именно так и сделал Алексей Зимарев.

А если он реагирует на Событие, полученное с сервера, тогда действительно, команда живет в отдельном слое над Store.



tgoop.com/emacsway_chat/6161
Create:
Last Update:

В чем заключается основная проблема.

Доменная Модель на сервере принимает одну Команду и производит от одного и более Доменных Событий.

Важно подчеркнуть, что Доменные События являются фактом изменения состояния Доменной Модели, т.е. они производятся Доменной Моделью, т.е. без Доменной Модели произвести Доменное Событие технически невозможно (кроме отдельных исключительных случаев).

При этом, если мы хотим иметь Доменные События реверсируемые, то нам необходимо атомарно реверсировать все события, произведённые одной Командой. Для этого события прошиваются идентификатором запроса обычно в виде CorrelationId.

Отсюда вывод - возможно одно из двух:

Вариант 1. Фронт располагает Доменной Моделью и производит Доменные События. При этом они становятся бесполезны для публичного API сервера, принимающего Команды. Они заходят на сервер в обход этого публичного API и мержатся в хранилище, если они, разумеется, не конфликтуют с Событиями конкурентных потоков.

При этом все События должны быть прошиты своими зависимостями на стороне клиента. Признаюсь, я пока не понимаю, как в этом случае может помочь Redux-like store, разве что https://github.com/m4ss1m0g/mediatr-ts

Вариант 2. Фронт не располагает Доменной Моделью и не способен производить Доменные События. При этом Фронт в состоянии производить Команды, отправлять их на сервер, и в режиме server-side event получать Доменные События с сервера. Но тогда получается, что Redux-like Store на самом деле работает не с Событиями, а с Командами, особенно в случае оптимистического интерфейса, что идет в разрез с его официальной документацией.

Либо же он действительно работает с Событиями, которые получает с сервера: Клиент -> Команда -> Сервер -> Доменная Модель -> Доменное Событие -> WebSocket -> Клиент -> Состояние Redux-like Store -> HTML.

И вот здесь вопрос в том, на что должен реагировать Store: оптимистично на Команду, или пессимистично на Доменное Событие с Сервера?

Но если он реагирует на Команду, тогда reducer является обработчиком Команды, и тогда не должно быть никаких Команд над Store. Именно так и сделал Алексей Зимарев.

А если он реагирует на Событие, полученное с сервера, тогда действительно, команда живет в отдельном слое над Store.

BY Ivan in emacsway-chat




Share with your friend now:
tgoop.com/emacsway_chat/6161

View MORE
Open in Telegram


Telegram News

Date: |

Informative So far, more than a dozen different members have contributed to the group, posting voice notes of themselves screaming, yelling, groaning, and wailing in various pitches and rhythms. Among the requests, the Brazilian electoral Court wanted to know if they could obtain data on the origins of malicious content posted on the platform. According to the TSE, this would enable the authorities to track false content and identify the user responsible for publishing it in the first place. Unlimited number of subscribers per channel The Standard Channel
from us


Telegram Ivan in emacsway-chat
FROM American