Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Версионность алгоритмов (число прочтений - 1878 )
ev-kov
God Member
*****
Отсутствует



Сообщений: 694
Зарегистрирован: 27. Декабря 2006
Пол: Мужской
Версионность алгоритмов
11. Декабря 2008 :: 16:21
Печать  
Задача, обеспечить версионность вычислительных алгоритмов в зависимости от заданного интервала дат, меняется не только коэффиценты применяемые при расчете, но и набор входных параметров, а также целиком алгоритм. Сейчас эти алгоритмы вынесены в класс, но версионности нет, но она в скором времени потребуется.
Есть идея создать такую схему - схему: абстрактный класс  (менеджеррасчетов) и классы (модули расчетов). Примененять снаружи схемы будут методы абстрактного класса менеджеррасчетов, а нём уже определять версию по датам, а по номеру версии вызывать нужный обработчик - модульрасчета.

Я на верном пути?
  

Информация - то, что снижает неопределенность в какой-либо области и очень важно не ошибиться областью в наш информационный век!
Наверх
 
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Версионность алгоритмов
Ответ #1 - 11. Декабря 2008 :: 17:10
Печать  
В зависимости от даты создавать нужный класс модуля рассчетов, после чего вызывать его методы.
Имена и сигнатуры (количество параметров) вызываемых методов у всех классов модулей рассчетов должны быть в идеале одинаковые. Чтобы при вызове методов еще раз не анализировать дату.

Это, собственно, полиморфизм, как он есть.

Если параметры должны быть разные - значит эти параметры нужно засунуть в некоторую структуру из которой нужные параметры можно доставать по именам. Я люблю для этого использовать список значений, представление рулит.
  
Наверх
www  
IP записан
 
ev-kov
God Member
*****
Отсутствует



Сообщений: 694
Зарегистрирован: 27. Декабря 2006
Пол: Мужской
Re: Версионность алгоритмов
Ответ #2 - 17. Декабря 2008 :: 06:57
Печать  
Как тут фабрика пригодилась кстати, очень наглядно получилось с ней !
  

Информация - то, что снижает неопределенность в какой-либо области и очень важно не ошибиться областью в наш информационный век!
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать