2011-10-27 6 views
2

多くのデザインパターンがあり、パターン自体が銀色の弾丸ではないことは明らかです。しかし、あなたの経験では、一貫してさらに問題を引き起こしたパターンはありましたか?私はいくつかの時間の後に解決策から問題に変わっていく特定のパターンがあるかどうか尋ねていると思いますか?悪いデザインパターンはありますか?

私は現在、このカテゴリに属する​​シングルトンクラスを扱っていますが、他のパターンがあるかどうか誰にでも尋ねたいと思います。

+1

多くの人がこのカテゴリにシングルトンを配置します。 –

+0

質問を投稿したとき、私はシングルトン自身を考えていました。私はシングルトンクラスを扱っています。シングルトンクラスは問題になっています。これが問題の理由です。集合的な知識ベースを活用して、そのようなパターンが他にもあるのを見てください。 – Carl

+0

私はすでに質問に答えているのを見ることができます。しかし、ここでは、Java用のいくつかのアンチパターンへのリンクがありますが、おそらく他の言語にも適用できます。 http://mindprod.com/jgloss/unmain.html – Lionel

答えて

6

はい、これらはantipatternsと呼ばれます。私が今まで扱ってきた唯一のもの(私が頭の上から知っているもの)はwaterfall modelです。それらを記述しようとするよりも、私は最初のリンクを読むことを強く勧めます。それは多くの洞察力のある情報を持っています!

少しユーモアを追加するには、あなたが「ない銀の弾丸」を述べた... No Silver Bullet :)

+0

wrt "No Silver Bullet" - 私は、 "偶然の複雑さ"として多くのデザインが言語の制限によって導入されることが多いと主張したいと思います。 *反パターン*に言及しています。これは、質問に完全に答えます。 –

+1

ありがとう! +1実際に関連しているユーモアのために:) – Carl

2

あなたがそれを避けるために何を知りたいことは反上に読み取ることが最善である場合には、オースティンは、彼の答えで述べたようにパターン - しかし、私は 'コードのにおい'を追加します。

デザインパターンは、解決するために問題を解決するために適用される場合にのみ有益です。私はしばしばその技術が問題を解決していないことを再確認しています。つまり、人々が行い、ソリューションを実装するために技術が使われます。それぞれのデザインパターンは、特定の問題の解決策であり、実装されるとその問題が解決されます。間違ったソリューションが実装されると、問題は解決されません。通常は非常に悪化します。

あなたの前の多くの人のように、あなたが解決しようとしていない問題を解決するために使用されたシングルトンをもたらしました。もう一度見直して、それを解決するデザインパターンを扱い、実装する必要がある問題(または問題)を特定してください。

要するに、アンチパターンや「コードの匂い」を認識することは良いことですが、デザインパターンの問題を避けるためには、どのような問題を解決するのかを正確に理解し、その特定の問題をだます。

関連する問題