Сообщение #1 korshunov » 02.06.2021, 10:04
В документации по модулям есть такое:
Экстендеры могут работать как в режиме ChainExtender (цепочный вызов)так и QueueExtender (поочерёдный вызов).
Экстендеры, которые работают в режиме Chain, передают друг другу модифицированный результат.
Они ОБЯЗАТЕЛЬНО должны возвращать результат, который передал вышестоящий хелпер или экстендер.
Экстендеры работающие в режиме Queue, ничего не возвращают. Они просто вызываются по очереди.
В них можно описывать какие-то процедуры, которые не модифицируют данные возвращаемые хелпером.
В связи с этим вопрос: для чего экстендеры разделили на два типа?
Если разница только в модифицикации/немодифицикации данных, то куда как логичнее обязать экстендер ВСЕГДА возвращать результат - если не модифицировали, то в чистом виде исходные данные. Код стал бы поменьше...
В документации по модулям есть такое:
Экстендеры могут работать как в режиме ChainExtender (цепочный вызов)так и QueueExtender (поочерёдный вызов).
Экстендеры, которые работают в режиме Chain, передают друг другу модифицированный результат.
Они ОБЯЗАТЕЛЬНО должны возвращать результат, который передал вышестоящий хелпер или экстендер.
Экстендеры работающие в режиме Queue, ничего не возвращают. Они просто вызываются по очереди.
В них можно описывать какие-то процедуры, которые не модифицируют данные возвращаемые хелпером.
В связи с этим вопрос: для чего экстендеры разделили на два типа?
Если разница только в модифицикации/немодифицикации данных, то куда как логичнее обязать экстендер ВСЕГДА возвращать результат - если не модифицировали, то в чистом виде исходные данные. Код стал бы поменьше...