Talvez um pouco irônico, mas como não consigo encontrar esta resposta em nenhum lugar pelo Google, por isso, para garantir que a Engenharia de Software tenha a resposta:
O que é um ajudante?
Eu vi o nome sendo usado em todos os lugares (nomes de módulos, nomes de classes, nomes de métodos), como se a semântica fosse profunda e significativa, mas no contexto da Ciência da Computação (embora eu não seja formado), eu ' nunca vi uma descrição ou definição em lugar algum!
É um padrão de design? É um algoritmo? Certa vez, trabalhei em um programa no qual o módulo e a classe eram chamados de algo como algo que ajuda (onde algo também era genérico) e prontamente o renomeei para algo que fazia sentido para mim, mas sinto que estou perdendo algo aqui!