我正在研究模式和反模式。我对模式有一个清晰的概念,但我没有反模式。来自网络和维基百科的定义让我很困惑。
有人能用简单的话给我解释一下什么是反模式吗?目的是什么?他们做什么?这是好事还是坏事?
我正在研究模式和反模式。我对模式有一个清晰的概念,但我没有反模式。来自网络和维基百科的定义让我很困惑。
有人能用简单的话给我解释一下什么是反模式吗?目的是什么?他们做什么?这是好事还是坏事?
当前回答
反模式是一种不解决问题的方法。但它还有更多的含义:在解决问题的尝试中,它也是一种经常出现的方法。
其他回答
当您以非法的方式滥用设计模式,或者您不知道它的实际用法时,有时会使用它。例如,为简单类使用构建器模式,或者为代码中使用的每个Active类定义一个单例实例。
它也可能超出了设计模式。例如,在Java中将局部变量定义为final,或者当您可以简单地检查输入是否为空时使用try / catch作为NullPointerException,或者在使用对象(就像您在其他一些语言中所做的那样)后将其置空,而您没有注意到垃圾收集机制,或者调用system.gc()以使内存为空,以及许多其他误解,这些很可能被认为是Cargo-Cult现象。
反模式是设计模式的补充。反模式是在特定情况下不应该使用的模板解决方案。
有趣的是,解决问题的特定方法可以是模式也可以是反模式。单例就是最好的例子。它将出现在两套文学作品中。
在基于微服务的领域:
一切都是微的,除了数据是反模式。 它是指基于DevOps和CI/CD对每一件事情进行合理、充分的分解。也许有些分布式设计模式已经到位,甚至完全复制,但所有服务背后都有一个巨大的数据存储,因此它仍然是一个单一的数据结构。
微服务反模式的其他例子
就像设计模式一样,反模式也是一个模板,也是解决某个问题的可重复方式,但是以非最佳和无效的方式。