私はGoFDesignPatternsの本を勉強していて、MartinFowlerのPoEAAの本をリストに載せています。(私は個人的に好きではないジュディス・ビショップの本も持っています。)しかし、委任パターンなど、もっと多くのパターンがあります。その起源は何ですか?これらの本で言及されていない他のパターンはありますか?このトピックに関する他の「必読」の本やオンラインリソースはありますか?
4 に答える
その起源は何ですか?
デザインパターンの起源
しばらく前に調査を行い、デザイン パターンの起源についてメモを取りました。以下は、その時に集めた個人的なメモからのコピペです。
最初の影響ソフトウェア エンジニアリングにおけるデザイン パターンへの影響は、建築家 (Houses not Software) であるChristopher Alexander
という人物からもたらされました。彼はデザインに関する理論でよく知られており、1977 年にA Pattern Languageという本を出版しました。この本でクリストファー・アレクサンダーは、複雑で反復的なエンジニアリング作業に再利用および適用できるパターンのアイデアについて説明しました。
ソフトウェア開発への移行
Christopher Alexander の業績は、Kent BeckとWard Cunninghamに影響を与えました。Kent Beck と Ward Cunninghamは、パターンの分類の概念をソフトウェア開発に適用し、1987 年の OOPSLA カンファレンスで彼らの業績を紹介しました。
The Gang Of Four
おそらく、デザイン パターンとソフトウェア開発の最もよく知られている情報源は、Design Patterns: Elements of Reusable Object-Oriented Softwareという本です。この本の著者は、Erich Gamma、Richard Helm、Ralph Johnson、John Vlissides の Gang Of Four としてよく知られています。
この本は、最初に出版されたデザイン パターンの本であり、1994 年の OOPSLA カンファレンスで初めて公開されました。
これらの本で言及されていない他のパターンはありますか?
あなたが言及したすべての本を読んだわけではありませんが、設計パターンに関する PluralSight コースを受講したとき、それらは多くをカバーしています。以下のリストを参照してください。
- アダプターパターン
- ブリッジパターン
- ビルダーパターン
- 責任の連鎖
- コマンドパターン
- 複合パターン
- デコレーターのデザインパターン
- イベントアグリゲーター
- ファサードパターン
- 工場のパターン
- フライ級
- 通訳パターン
- イテレータ パターン
- 遅延読み込みパターン
- メディエーター パターン
- 記念品
- モデル ビュー プレゼンター (MVP) パターン
- モデル ビュー ビューモデル (MVVM) パターン
- ヌル オブジェクト パターン
- オブザーバー パターン
- プロトタイプパターン
- プロキシ パターン
- リポジトリ
- シングルトン
- サービス ロケータ パターン
- 状態パターン
- 戦略パターン
- テンプレート方式
- 作業単位
- 訪問者パターン
これらの本で言及されていない他のパターンはありますか?
絶対。GoF パターンは、それらすべての一種であり、かなり一般的ですが、ドメイン固有のパターンも使用できます。あなたが言及したように、ファウラーのPoEAAのように。または組み込みシステムの設計パターン。しかし、Fowler の分析パターンに関する本のように、それよりもドメイン固有のものもあります。この本には、金融およびヘルスケア関連のパターンがあります。または、 Hillside Patterns Catalogで利用可能なリンクのようなアビオニクス システムのパターン。
その起源は何ですか?
委任パターンの起源が何かということであれば、私にはわかりませんが、誰かがここで同様の質問をしています。
このトピックに関する他の「必読」の書籍やオンライン リソースはありますか?
おかしな名前の「PLoP」会議 (プログラム設計のパターン言語) は、かなりの数のパターンが放送される最初の場所だと思います。
PLoP ジャーナルもあります: Transactions on Pattern Languages of Programming .
ギャング・オブ・フォー・パターンの背後にある独自の考え方の一部を説明するには、デザイン・パターンの説明が非常に役立つことがわかりました。参照ではなく説明です。
他の場所で言及されている PluralSight カタログに加えて、NetObjectives には、パターン (および一般的な原則) に関するいくつかの優れたリソース、特に一連のウェビナーがあります。
Design Patterns: Elements of Reusable Object-Oriented SoftwareとThe Design of Everyday Thingsはとても良い本です。直感的に読める前者を特にお勧めします。
「必読」というのは非常に主観的なものだと思いますが、Head First Design Patternsからデザイン パターンのトピックについて本当に多くのことを学びました。とは言っても、「Head First」の本には典型的な書き方があります (誰かがそれを間抜けだと言っているのを聞いたことがあると思います..)。私は特に、前述の(実際には非常に優れていますが)「ギャング・オブ・フォー」の本よりも少し軽量で読みやすいと感じました.