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:
Все так фатально?
Сабж.
Куча объектов одного класса в определенных моментах вызывает некоторую функцию(метод класса некоторого, который содержит массив тех классов, что-то типа 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:
Все так фатально?