A brincadeira “Mestre Mandou” ajuda a explicar um princípio muito útil em programação: não peça autorização para fazer as coisas; passe a responsabilidade para o objeto ou para a classe certa. Essa ideia ficou conhecida como “Tell, don’t ask”.

No contexto de orientação a objetos, o problema aparece quando um objeto pergunta para outro se a condição é válida antes de executar uma ação. Em vez de centralizar a regra de negócio em um único lugar, o código espalha decisões por vários pontos do sistema. Isso cria redundância e aumenta o risco de inconsistência.

Na prática, o “Tell, don’t ask” sugere que você mande uma instrução ao objeto e deixe que ele decida como executar. Se o produto precisa validar estoque e status antes de adicionar ao carrinho, a regra deve estar no próprio produto, e não espalhada em todos os lugares que o usam.

Esse estilo de design leva a menos acoplamento, menos duplicação de lógica e mais clareza no código. A regra de negócio continua em um único local e qualquer mudança futura precisa acontecer apenas ali. Isso é muito mais simples de manter do que repetir a mesma validação em vários métodos e classes.