デザインパターンは、ソフトウェア・アーキテクチャにおける既知の一般的な問題を解決するための再利用可能なモデルです。
デザインパターンは、ある特定の状況に対処するためのテンプレートとして最もよく表現されます。建築家は、ある種のドアフレームを設計するためのテンプレートを持っていて、それを多くのプロジェクトに適用するかもしれません。ソフトウェアエンジニアやソフトウェアアーキテクトは、頻繁に起こるプログラミングの課題を解決するためのテンプレートを知っているべきです。
デザインパターンの良いプレゼンテーションには、以下が含まれるはずです。
- 名前
- 動機となる問題
- 解決策
- 結果
等価問題
I
なぜデザインパターンを使うのか?
あなたはコードを書く練習を通して、すでにいくつかのデザインパターンに親しんでいることだろう。多くの優秀なプログラマーは、明示的に教えられなくても、最終的にはデザインパターンに引き寄せられるし、途中で先輩に拾われることもある。
デザインパターンを作り、学び、活用する動機は多岐にわたります。デザインパターンは、複雑で抽象的な概念に名前を付けて、議論や教育を可能にする方法です。
ホワイトボードを使わず、パターンの名前を使うだけで、チーム内のコミュニケーションが速くなる。パターンから学ぶと、プラクティスを徐々に改善することで車輪の再発明をする必要がなくなる(そして、常に古いコードに怯えなければならない)。
一見すると論理的に見えるために、一般的に考案されがちな悪い解決策は、しばしばアンチパターンと呼ばれます。アンチパターンと呼ばれるには、同じ問題がよく再発明され、それをよりよく解決するパターンが存在する必要があります。
実践での有用性は明らかですが、デザインパターンは学習にも有効です。デザインパターンは、あなたが考えもしなかったような多くの問題を紹介し、あなたが実際に経験したことのないようなシナリオを深く考えることを可能にしてくれます。
デザインパターンは、すべての人が学ぶべきものであり、キャリアが浅く、業界が提供するさまざまな問題に取り組む実体験を持たない、意欲的な建築家や開発者のすべてにとって、格別に優れた学習リソースなのです。
なぜデザインパターンを使うのか?
Y
創造的デザインパターン
- ファクトリー
- 抽象ファクトリー
- ビルダー
- プロトタイプ
- シングルトン
- オブジェクトプール
S
行動デザインパターン
近日公開予定
- 責任の連鎖
- コマンド
- イテレータ
- メディエーター
- メメント
- オブザーバー
- 状態
- 戦略
- 訪問者
構造的デザインパターン
- アダプタ
- ブリッジ
- コンポジット
- デコレーター
- ファサード
- フライウェイト
- プロキシ
行動デザインパターン
C