Замена yield - как спроектировать приложение?

nerezus

Вселенский отказник
Замена yield - как спроектировать приложение?

Сабж.

Куча объектов одного класса в определенных моментах вызывает некоторую функцию(метод класса некоторого, который содержит массив тех классов, что-то типа Pool)
Естественно хотелось бы, чтобы после пары операций он назад бы вернул управление при определенном условии, а пока это условие не произошло, то по очереди давал бы выполниться другим объектам.

Однако когда он даст выполниться нужному классу, он начнет выполняться с начала метода... а это не тру, ибо надо другое.

Как бы хитро все спроектировать?

Есть вариант делать так: в класс набрать кучуобъектов класса Запрос, и давать управление уже им, но тут будет КУЧА классов. Как-то не выход...

-~{}~ 02.09.08 22:36:

Т.е. один из вариантов:

class Worker:
private requests = array(new Request(1), new Request(2), new Request(3))
private state = 0;
private init();
public process(); # передает управление нужному Request

class Pool:
private workers = array();
public add(Worker w);
public processWorkers(); # по списку перебираем workers и работаем их


Вот так примерно, но хотелось бы без лишних классов Request

-~{}~ 04.09.08 21:31:

Все так фатально?
 
Сверху