设计模式和反模式的区别

4

我正在阅读有关设计软件架构的理论,发现在我们设计软件时需要考虑一些理论,例如SOLID原则、设计模式和反模式。

我的问题:设计模式和反模式的区别是什么?它们解决了什么问题?

1个回答

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接