简单来说,设计模式是软件工程师多年实践和解决问题过程中开发的高效解决方案。而反模式则是已知的,针对某些问题实际上是不好或有缺陷的解决方案。反模式是一种常见的对于经常出现的问题的应对方式,通常是无效的并且可能会产生相反的结果。这个术语由Andrew Koenig在1995年创造,在书籍《Design Patterns》中得到了启发。该书作者认为其中许多设计模式都非常可靠和有效。三年后,这个术语在《AntiPatterns》一书中被广泛使用,将其用途扩展到软件设计领域以外,指代任何常见但是错误的解决问题的方式,例如分析麻痹、模仿失误编程、死亡进度、团队思维和供应商锁定等等。你可以参考以下链接了解更多反模式的例子:https://javaantipatterns.wordpress.com/ 和 https://sourcemaking.com/antipatterns。