Ну, использование шаблона builder может быть одним решением.
Но как только вы придете к 20-30 параметрам, я бы предположил, что существует высокая зависимость между параметрами , Таким образом (как и предполагалось), обертывание их в логически разумные объекты данных, вероятно, имеет наибольший смысл. Таким образом, объект данных уже может проверить правильность ограничений между параметрами.
Для всех моих проектов в прошлом, когда я пришел к точке, чтобы иметь слишком много параметров (и это было 8 не 28 !) Я смог дезинформировать код, создав лучшую базу данных.