К сожалению, ваш код слишком "псевдо". Например, неясно, откуда вы берете searchMode
. Также инициализация ваших конкретных форм жестко запрограммирована. Я считаю, что в реальной жизни все эти данные взяты из класса Data
.
Итак, я предполагаю, что класс Data
содержит имя, возраст, идентификатор. Теперь вопрос в том, как класс Data содержит эти данные. Специальные поля? Общий хэш-стол?
В любом случае, я думаю, что тот факт, что у вас есть какой-то "общий" код (класс поиска) и вам нужно создавать специальные формы, является плохим паттерном. Вы должны использовать некоторую платформу MVC, которая автоматически заполняет вашу конкретную форму. Затем запустите логику поиска, используя данные формы. если у вас есть общая логика для обоих режимов, реализуйте ее либо в абстрактном классе, либо в служебном классе.