デザインパターンに飛び込む

あなたが自分自身に尋ねる最初の質問は…
デザインパターンとは何ですか?
デザインパターンは、ソフトウェア開発者がソフトウェア開発中に直面した一般的な問題の解決策です。これらのソリューションは、かなりの期間にわたって多くのソフトウェア開発者による試行錯誤によって得られました。
パターンは特定のコードではありませんが、特定の問題を解決するための一般的な概念です。パターンの詳細に従って、独自のプログラムの現実に合ったソリューションを実装できます。
パターンはアルゴリズムではありません!
パターンは、いくつかの既知の問題に対する典型的な解決策を説明しているため、アルゴリズムと混同されることがよくあります。アルゴリズムは常に、ある目標を達成できる明確なアクションのセットを定義しますが、パターンは、解決策のより高レベルの説明です。2つの異なるプログラムに適用される同じパターンのコードは異なる場合があります。
アルゴリズムの例えは料理のレシピです。どちらも目標を達成するための明確なステップがあります。一方、パターンは青写真に似ています。結果とその機能を確認できますが、実装の正確な順序はユーザー次第です。
パターンは何で構成されていますか?
ほとんどのパターンは非常に形式的に記述されているため、多くの連絡先で再現できます。デザインパターンは、問題を解決するための単なるパターンであり、2つ以上のデザインパターンをマージして独自の問題を解決できます。
なぜパターンを学ぶ必要があるのですか?
パターンを学ぶべきではありません。独身の親について知らなくても、プログラマーとして何年も働くことができます。多くの人がそうしています。その場合でも、知らないうちにいくつかのパターンを実装している可能性があるので、なぜそれらを学ぶのに時間を費やすのでしょうか。
- デザインパターンは、あなたとあなたのチームメートがより効率的にコミュニケーションするために使用できる共通言語を定義します。「ああ、そのためにシングルトンを使用するだけです」と言うことができ、誰もがあなたの提案の背後にある考えを理解するでしょう。パターンとその名前がわかっていれば、シングルトンとは何かを説明する必要はありません。
- デザインパターンは、ソフトウェア設計の一般的な問題に対して試行錯誤されたソリューションのツールキットです。これらの問題に遭遇したことがない場合でも、パターンを知ることは、オブジェクト指向設計の原則を使用してあらゆる種類の問題を解決する方法を教えてくれるので、依然として役立ちます。
彼はいくつのデザインパターンを持っていますか?
23のデザインパターンがあります。
- ファクトリメソッド
- 抽象ファクトリ
- ビルダー
- プロトタイプ
- シングルトン
- アダプタ
- 橋
- 複合
- デコレータ
- ファサード
- フライ級
- プロキシー
- イテレータ
- メディエーター
- Memento
- 観察者
- 州
- ストラテジー
- テンプレートメソッド
- ビジター
- 責任の連鎖
- 指示
- 通訳者