Название: Посоветуйте паттерн для последовательности долгих вычислений. Отправлено: Susenin от Май 02, 2014, 16:40 Здравствуйте!
Над данными нужно произвести последовательно несколько длительных преобразований (2-3 секунды). Пусть преобразования обозначаются - A, B, C, D, E... Пользователь выбрал данные - преобразования начинают выполняться последовательно А->B->C... Пользователь не дожидаясь окончания всей последовательности меняет данные - последовательность должна прекратить выполнение и начать снова с А. У каждого преобразования есть параметры. Как только меняется параметр преобразования, например Е, последовательность должна прерваться и начать с Е с новым параметром. Т.е. все это меняется на лету, пользователю доступны параметры всех преобразований, то С поменял, то А. Подскажите, как это красиво реализовать? Некрасиво уже сделал :) Если нужно больше конкретики, напишу. Название: Re: Посоветуйте паттерн для последовательности долгих вычислений. Отправлено: UltraPenguin от Май 08, 2014, 11:59 Красота - понятие субъективное чуть более, чем полностью. :)
Под Ваше описание неплохо подходит MVC, если говорить именно о паттернах. А так (абстрагируясь от общих паттернов) вполне себе решение, как мне кажется, класс с интерфейсом + вычислительный класс. Последний ловит сигналы об изменении данных от интерфейсного класса и перезапускает обработку. UPD: в голову еще пришел паттерн Observer, но он не особо подходит, если преобразования идут последовательно. |