Size: a a a

2020 March 26

А

Алексей R in Yii Framework 3
есть вариант без исключения (реализовать ExceptionResponse или BadResponse) но это та ещё дичь )
источник

AS

Alexey Samoylov in Yii Framework 3
цепочка реквест-мидлвари-респонс родом вообще-то из экспресс https://expressjs.com/ru/guide/error-handling.html
источник

AS

Alexey Samoylov in Yii Framework 3
я так подозреваю, что Эндрю Хант в 1999 году про экспресс и не слышал гг
источник

AS

Alexey Samoylov in Yii Framework 3
так что приводить его в пример - ну вообще не круто
источник

NO

Nex Otaku in Yii Framework 3
The price of checked exceptions is an Open/Closed Principle violation.

If you throw a checked exception from a method in your code and the catch is three levels above, you must declare that exception in the signature of each method between you and the catch.

This means that a change at a low level of the software can force signature changes on many higher levels.

—Robert C. Martin, «Clean Code», page 107
источник

NO

Nex Otaku in Yii Framework 3
When a single change to a program results in a cascade of changes to dependent modules, that program exhibits the undesirable attributes that we have come to associate with “bad” design. […]

The open-closed principle attacks this in a very straightforward way. It says that you should design modules that never change.

—Robert C. Martin, «The Open-Closed Principle», 1996
источник

А

Алексей R in Yii Framework 3
он ведь на русском не издавался?
источник

NO

Nex Otaku in Yii Framework 3
Вот Роберт Мартин говорит, что строить код на проверяемых исключениях плохо, потому что нарушает OCP.
источник

AS

Alexey Samoylov in Yii Framework 3
наверняка плохо, но не для мидлварей
источник

AS

Alexey Samoylov in Yii Framework 3
погугли что такое monkey patching в express, и почему его делают
источник

NO

Nex Otaku in Yii Framework 3
По-моему, встраивание жёсткой связи между компонентами это достаточно серьёзный недостаток. Разве мидлварь должна зависеть от другой мидлвари?
источник

AS

Alexey Samoylov in Yii Framework 3
Nex Otaku
По-моему, встраивание жёсткой связи между компонентами это достаточно серьёзный недостаток. Разве мидлварь должна зависеть от другой мидлвари?
не вижу, почему бы им не зависеть друг от друга, если одна мидлварь формирует данные, которые другая мидлварь может и должна обработать
источник

AS

Alexey Samoylov in Yii Framework 3
как уже давали пример с ValidateException
источник

AS

Alexey Samoylov in Yii Framework 3
или можно еще какой-нить ForceRedirectException привести в пример
источник

DS

Dmitriy S in Yii Framework 3
Alexey Samoylov
Мидлварь может, например, ходить к стороннему сервису для дополнительной авторизации, и кидать какой-нить RetryableException, который предыдущая мидлварь поймет и заретраит вызов
Переход между мидлтварями через иксепшины вместо хендлеров - это игнорирование сути и предназначения мидлтварей.
источник

NO

Nex Otaku in Yii Framework 3
Мартин Фаулер:

"if a failure is expected behavior, then you shouldn't be using exceptions"

https://martinfowler.com/articles/replaceThrowWithNotification.html
источник

AS

Alexey Samoylov in Yii Framework 3
Dmitriy S
Переход между мидлтварями через иксепшины вместо хендлеров - это игнорирование сути и предназначения мидлтварей.
а как ты событие из декоратора прокинешь вверх ?
источник

AS

Alexey Samoylov in Yii Framework 3
не зная, есть ли там вообще декоратор, один он там, или их там 10
источник

DS

Dmitriy S in Yii Framework 3
Alexey Samoylov
а как ты событие из декоратора прокинешь вверх ?
О каком декораторе и о каком событии идет речь?
источник

AS

Alexey Samoylov in Yii Framework 3
в статье 0 упоминаний о мидлварях
источник