Pensando que você tem uma lista e pode ter vários filtros porque não usar o strategy para processar a lista de acordo com os filtros que se quer aplicar ?
Pensando que você tem uma lista e pode ter vários filtros porque não usar o strategy para processar a lista de acordo com os filtros que se quer aplicar ?
O strategy tem responsabilidade única. Se dentro de um único strategy você coloca lógica para lidar com várias situações para filtrar a lista, você terá um monte de if caracterizando programação procedural.