У меня есть набор валидаторов, которые используются для различных сравнений, таких как, если 2 строки равны или нет, Если строка A содержит строку B или нет, Если список строк содержит подстроки или нет, и так далее .. Для каждого сравнения существует отдельный метод.
Мне нужно написать модуль очистки, который будет очищать строки, то есть удалять специальные символы, использовать анализаторы lucene и т. Д. c. перед сравнением, а затем вернуть строки.
Можно ли как-то напрямую вызвать одну и ту же функцию для очистки во всех методах? Какие шаблоны дизайна можно использовать здесь?
Объяснение того же на примере:
compareStringsContainsSubstring(str1, str2) {
//sanitizeStrings API should be called here
//comparison
}
compareStringsAreEqual(str1, str2) {
//sanitizeStrings API should be called here
//comparison
}
compareListContainsSubstring(ListOfstr, str1) {
//sanitizeStrings API should be called here
//comparison
}
Есть ли способ избежать вызова в каждом методе? Все эти валидаторы сравнения присутствуют в одном классе. Могу ли я использовать какой-то шаблон дизайна для решения этой проблемы?