В моем коде есть List<Person>
. Атрибуты объектов в этом списке могут включать что-то вроде:
- ID
- Имя
- Фамилия
В части своего приложения я разрешаю пользователю искать конкретного человека, используя любую комбинацию этих трех значений. На данный момент у меня есть оператор switch, который просто проверяет, какие поля заполнены, и вызывает метод, предназначенный для этой комбинации значений.
i.e.:
switch typeOfSearch
if 0, lookById()
if 1, lookByIdAndName()
if 2, lookByFirstName()
и так далее. На самом деле существует 7 различных типов.
Это дает мне один метод для каждого оператора. Это «хороший» способ сделать это? Есть ли способ использовать параметр или какой-то «фильтр»? Возможно, это не имеет значения, но я кодирую это на Java.