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

Что ты захочешь в какой то промежуточный этап добавить мидлвару

или поменять их местами и это вызовет кучу проблем?

19 ответов

22 просмотра

Ты говоришь о беспорядочной архитектуре и мутировании объекта req

То что вы называете Middleware, на самом деле Chain of Responsibility. Только малая часть так называемых Middleware являются ими с строгой точки зрения

Нет

почему нет? насколько помню, у гоф цепочка описана так, что тот, кто готов обработать сигнал, его обрабатывает, и не передаёт дальше с этой точки зрения действительно не все миддлвари реализация этого паттерна

В цепочке может обрабатывать каждый узел, также каждый узел может разорвать цепочку на свое усмотрение.

Ок

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

Какой то бред. Причём строитель? Что в определении цепочки не стыкуется с мидварями? Где написано, что может обработать только 1 звено?

Строитель порождающий патерн. Не туда

мы порождаем (строим) респонс

Суши вёсла. Тут есть определенный контингент, которому нужен спор ради спора

ты поэтому ответил "нет" фениксу? 😒 я то думал будет обсуждение паттернов

предлагаешь мне цитировать гоф? вот какое там определение участников: ConcreteHandler - конкретный обработчик: - обрабатывает запрос, за который отвечает; - имеет доступ к своему преемнику; - если ConcreteHandler способен обработать запрос, то так и делает, если не может, то направляет его - его своему преемнику; явно же указано, что есть ветка - или обрабатываешь, или отправляешь дальше да и по всем примерам и описаниям именно так

Ну обрабатывает и передает дальше. Не может обработать - просто передает дальше. Что не так?

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

О, привет, я думаю, ты не пытался вдуматься в это утверждение и чисто по фану решил поспорить

О, привет, нет

Ну вот и поговорили

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

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

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
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
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
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Карта сайта