3

古典的な「デザイン パターン: 再利用可能なオブジェクト指向ソフトウェアの要素」は、実際に私たちのほとんどにデザイン パターンのアイデアを紹介しました。

しかし、最近では、Martin Fowler 著の「Patterns of Enterprise Application Architecture」(POEA) などの本が、日常の仕事ではるかに役立つことに気づきました。

仲間の開発者との議論では、.NET のようなフレームワークが GOF 本の多くのパターンをゆっくりと提供し始めていることを (公正な) 指摘する人が多いのに、なぜ車輪を再発明する必要があるのでしょうか?

多くの開発者は、GOF の本がデザイン パターンに関する唯一の参考資料であると考えているようです。彼らの論理は、フレームワーク (.NET など) が多くの GOF パターンを提供しているため、パターンは彼らの時代を迎え、もはやそれほど重要ではなくなったということです。

驚いたことに (少なくとも私にとっては)、POEA で説明されているパターンについて言及すると、しばしば空白の視線に遭遇します。

POEA は、パターンが単なる Interators、Singleton、Command などではないことを証明しています。また、GOF のパターンは、実際にはパターンの別個の「カテゴリ」にすぎず、それらとは異なる (重複しない) レベルの設計に適用できるとも言えます。 POEAで。

では、他のどの「カテゴリ」のパターンがあなたの開発に適用されましたか? これらのパターンはどのレベルの設計に適用されますか? 通常、開発プロセスのどの時点で使用されますか? これらのパターンに関する本や参考文献はありますか?

4

3 に答える 3

7

Ward の wiki のCategoryPatternsには、分類されたパターンのリストが含まれています。

最初の 3 つは GoF パターンです

  • 創造的な
  • 構造的
  • 行動

次に、問題固有の問題があります

  • 安全
  • 同時実行
  • リアルタイム

Fowler のパターンはエンタープライズ アプリケーション パターンです。エンタープライズ統合パターンもあります。UI パターンも存在します..など...

于 2008-09-24T06:24:29.490 に答える
3

この質問への回答が多少異なっていたので、回答を追加しています。POSA (パターン指向ソフトウェア アーキテクチャ シリーズの書籍) によると、パターンには 3 つのレベルがあります。

  • アーキテクチャ パターン (レイヤー、MVC、P2Pなど)
  • デザインパターン ( GoF パターンなど)
  • イディオム (例: Pimpl、C++ の RAII などの言語固有のパターン)
于 2009-05-25T15:59:13.733 に答える
0

GoF パターンは、コードのみに厳密に適用することもできます。Fowler のパターンは、コードだけでなく、データとシステム コンポーネントがどのように配置され、相互接続されるかにも関係しています。

また、プログラミング言語で既に焼き付けられている場合、一部のパターンは必要ありません。一部の言語では、それらは単なるイディオムです。実際に、設計パターンはプログラミング言語の欠陥の兆候であるという議論がありました。

于 2008-09-24T07:13:24.567 に答える