Um antipadrão é uma solução frequentemente utilizada, mas largamente ineficaz para um problema. O termo foi originalmente usado para se referir a um padrão que deu errado. Assim como um padrão viável descreve o caminho de um problema para uma solução válida, um antipadrão descreve o caminho de um problema para uma solução ruim. Além disso, ao adicionar mais dificuldades às que existiam originalmente, um antipadrão pode deixá-lo em uma posição pior do que antes de você começar. Vários escritores publicaram livros ou artigos sobre como reconhecer e evitar a adoção de um antipadrão, especialmente no desenvolvimento de programação de computadores.
O termo padrão de melhoria (para ameliorate significa melhorar, e especialmente para melhorar uma situação ruim) foi cunhado para um padrão que descreve como passar de uma má solução para uma melhor.