Есть проект (не важно, на каком языке, но пусть будет C++), в котором есть две так скажем мало связанные между собой части (функции/класса). И одна функция (класс) вызывает другую с передачей туда параметров. И сейчас в качестве интерфейса передачи параметров используется обычная строка, т.е. вызывающая функция генерирует строку вида «Имя_параметра1=значение_параметра1\nИмя_параметра2=значение_параметра2...», передаёт её вызываемой, где происходит парсинг параметров.
Почему сделано так? Потому что вызов реализован через интерфейс (виртуальные функции), которые предполагает быть универсальным, а набор параметров для конкретного вызываемого метода может сильно разниться.
В общем, хочу обсудить: насколько это хорошо/плохо/универсально/неуниверсально? Можно ли так рекомендовать делать, если сам процесс вызова в программе происходит один раз (т.е. парсинг вообще не влияет на скорость выполнения)? Какие другие способы можете предложить (вызов разных функций через один интерфейс)?
Дискасс.
Update:
В качестве примера можно привести программу, обрабатывающую скрипт вида:
Вызвать Функцию1, параметры: п1=з1, п2=з2
Вызвать Функцию2, параметры: п3=з3, п4=з4
Программа, выполняющая данный скрипт, делает это через универсальный вызов
call_function(Функция1, "строка с параметрами")