как грамотно спроектировать вызов статичных методов наследуемого класса

dark-demon

d(^-^)b
ну как же. коллбэки, по определению, - это вынесение части функциональности в вызывающий функцию код.
 

Crazy

Developer
dark-demon, callback -- неудачный термин, ибо никто не обещал, что "callback" принадлежит коду, инициировавшему вызов.
 

bkonst

.. хочется странного?...
Автор оригинала: dark-demon
ну как же. коллбэки, по определению, - это вынесение части функциональности в вызывающий функцию код.
По чьему определению? Опять свои домыслы, как и про "мусор в неопределенной переменной"?

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

dark-demon

d(^-^)b
callback -- неудачный термин, ибо никто не обещал, что "callback" принадлежит коду, инициировавшему вызов.
ну да, хотя вызывающий код может просто создать функцияю динамически, либо воспользоваться готовой. замыкания - это первый вариант.

Точное поведение может зависеть от массы факторов о которых сущность "счет" может не знать
я специально акцентировал, что в данном конкретном случае, где мы не рассматриваем "прочие факторы" она от них не зависит. вообще, забей, основная мысль у меня была не в том, что "эта функциональность принадлежит именно аккаунту" (что в зависимости от ситуации может быть, а может и не быть), а в том, что её не стоит дублировать при каждом вызове одного и того же метода.
 

bkonst

.. хочется странного?...
dark-demon
"Данный конкретный случай" - это сферический конь в вакууме. Мои слова про вечно меняющуюся бизнес-логику не были прочитаны? При проектировании более-менее сложной системы это необходимо учитывать, если, конечно, работаешь не на мусорную корзину.

Теперь, пожалуйста, с тебя пример дублирования кода. Намекаю: замыкание может быть результатом выполнения другой функции.
 
Сверху