特定の設計状況から、一見簡単そうに見えるが間違った方法を取ることがあるのは私だけでしょうか? 私は疑わしい Singleton オブジェクトの分け前を作ったことを認めます。それに加えて、物事を簡単に見せるために、神のオブジェクトを 1 つまたは 2 つ作成することで知られています。
すべきではないとわかっていても、アンチパターンを使用したことがありますか?
特定の設計状況から、一見簡単そうに見えるが間違った方法を取ることがあるのは私だけでしょうか? 私は疑わしい Singleton オブジェクトの分け前を作ったことを認めます。それに加えて、物事を簡単に見せるために、神のオブジェクトを 1 つまたは 2 つ作成することで知られています。
すべきではないとわかっていても、アンチパターンを使用したことがありますか?
何かを柔軟にしようとすると、内部プラットフォーム効果になってしまうのは非常に簡単です。たとえば、私は内部データベースの罪を犯しています。
また、事前に用意された同様のバージョンを使用するのではなく、自分でコーディングしたくなる場合もあります-ここでは発明されていません。私はそれを避けようとしますが...
アンチパターンをコピー&ペースト
God Objectアンチパターンは、犯しやすい間違いです。クラスを分割するのは大変な作業のように思える場合もあります。その後、ある時点で料金を支払います。このアンチパターンは密結合と密接に関連していることがわかりました。
ベンダー固有の言語を使用している場合、ベンダー ロックインのアンチパターンも回避するのが難しい場合があります。
コメントでは、答えであることが保証されていると思います-シングルトンパターン。
これは、言語 (Java など) がサポートしていない場合にグローバル変数を実現する方法です。これは、必要な場合を除いて、決して使用してはならないパターンの 1 つです。重要なのは、グローバル変数が必要な場合 (インスタンスがある場合) と、グローバル変数が必要な場合を区別できることです。
グローバル状態を導入するという深刻な問題を超えて、シングルトンには問題があります。たとえば、Java では、それらは複数のクラス ローダーを持つクラス ローダー内で単一であり、最終的に複数のコピーになる可能性があります。
自分で書くよりも理にかなっているので、特定の機能のために追加されるベンダー固有のものが常にあります。私は後でこの決定のために自分自身を蹴るのに多くの時間を費やしました。