Процесс кончается тогда, когд
Автор admin Пятница, 19 июня 2009 11:32
Процесс кончается тогда, когда одна из стратегий окажется успешной, или с завершением цепочки. При рекурсии одна функция многократно вызывает сама себя до тех пор, пока не будет достигнуто условие выхода; в Цепочке ответственности функция вызывает себя, что (в результате смещения по цепочке) приводит к вызову другой реализации этой функции, и т. д. вплоть до достижения выходного условия. Выходным условием является либо успешность одной из Стратегий, либо достижение конца цепочки. В последнем случае обычно возвращается объект по умолчанию; впрочем, не всегда, и тогда нужно предусмотреть другие возможности для проверки успеха или неудачи. Вместо того чтобы обслуживать запрос одной функцией, мы даем возможность обслужить запрос всем функциям цепочки. Такая процедура имеет нечто общее с экспертной системой. Поскольку цепочка фактически представляет собой список, она может создаваться динамически, так что ее можно рассматривать как обобщенную динамически создаваемую команду switch. В книге БЧ тема построения Цепочки ответственности в виде связанного списка обсуждается достаточно подробно. Однако с точки зре
Комментарии закрыты.
Последние комментарии