5

我是不是唯一一个有时会采取看似简单但错误的方式摆脱某些设计情况的人?我承认我已经分享了有问题的 Singleton 对象。除此之外,众所周知,我会制作一两个上帝对象以使事情看起来更容易。

即使您知道不应该使用反模式,您是否曾经使用过?

4

6 回答 6

6

尝试使某些东西变得灵活并以内部平台效果结束是很容易的。例如,我对内部数据库感到内疚。

有时,自己编写代码而不是使用预先罐装的类似版本 - Not Invented Here太诱人了。我试图避免它,但...

于 2009-02-20T05:28:31.950 回答
5

复制和粘贴反图案

于 2009-02-20T05:14:29.207 回答
2

God Object反模式是一个容易犯的错误。有时,拆分课程似乎工作量太大。然后在稍后的某个时候,您会为此付出代价。我发现这种反模式与紧密耦合密切相关。

当您使用供应商特定语言时,供应商锁定反模式也很难避免。

于 2009-02-20T05:12:01.660 回答
1

在评论中,我认为这是一个答案——单例模式。

当一种语言(如 Java)不支持它时,它是一种实现全局变量的方法。这是你永远不应该使用的模式之一——除非你需要它。重要的是能够区分何时需要全局变量(有实例)和何时只需要一个。

除了引入全局状态的严重问题之外,单例还存在问题,例如,在 Java 中,它们在类加载器中只有一个,具有多个类加载器,您最终可以得到多个副本。

于 2009-02-20T05:40:15.743 回答
1

您可以在 SO 本身中找到更多信息:

你“最喜欢”的反模式是什么?

最常用的反模式有哪些?

于 2009-02-20T05:16:22.713 回答
0

供应商锁定

总是会为特定功能添加一个特定于供应商的东西,因为它比自己编写更有意义。后来我花了很多时间为这个决定自责。

于 2009-02-20T05:35:42.573 回答