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 ?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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.