我正在阅读有关设计软件架构的理论,我发现在设计软件时我们应该考虑一些理论,如SOLID原理,设计模式和反模式。
我的问题:设计模式和反模式之间有什么区别?它们解决了什么问题?
答案 0 :(得分:6)
简单差异将是:
设计模式:
高效且高效的解决方案,由软件工程师多年的实践和解决问题开发而成。
反模式:
对某些问题实际上是坏的或有缺陷的已知解决方案。
来自维基百科:
反模式是对反复发生的问题的常见反应 通常是无效的,有可能产生高度适得其反的效果。[1] [2] 这个术语由Andrew Koenig于1995年创造,[3]的灵感来自一本书, 设计模式,突出了一些设计模式 其作者认为高度可靠的软件开发 并且有效。
三年后,AntiPatterns一书推广这个词, 它将其使用范围扩展到软件设计领域之外 非正式地解决问题的任何通常彻底改造但不好的解决方案。 例子包括分析瘫痪,货物崇拜编程,死亡 march,groupthink和vendor lock-in。
一些反模式的例子: