Um analista de TI ao realizar a análise do desenvolvimento de um software, escuta do cliente algo a respeito de aplicar diferentes regras de negócio em momentos distintos. Então, ele entende que o ideal seria utilizar um padrão de projeto que permitisse encapsular essas regras em uma classe abstrata e ter uma família de algoritmos de derivações concretas. Dentre os padrões de projeto a seguir, qual seria opção pensada pelo analista?