GOFパターンとGRASPパターンの違いについて本当に混乱していますか?どちらもオブジェクト指向プラクティスの改善に貢献します
2 に答える
短い答え:
GoFはデザインパターンに言及されています。そしてGRASPは設計原則です。デザイン原則は、デザインパターンよりも非常に抽象的です。
長い答え:
ソフトウェアエンジニアリングの主な目的は、適切なソフトウェアを開発することです。SDLCは、ソフトウェアエンジニアリングのステップをトップレベルで提示します。 ソフトウェア設計はSLDCのステップの1つです。そして、オブジェクト指向ソフトウェア設計は、ソフトウェア設計の一般的なアプローチです。
オブジェクト指向ソフトウェア設計を実行するために、ガイドライン、原則、ヒューリスティック、パターン、スタイルなど、さまざまな名前のさまざまな種類のリソース(書籍、チュートリアル、および論文)があります。
これらの名前の違いは、それらの抽象化です。トップレベルは主要な原則であり、他のレベルはこれらの主要な原則に到達するのに役立つ詳細です。
トップレベル
トップレベルでは、チュートリアルは主な原則を提示します。(オブジェクト指向の分析とアプリケーションを使用した設計に基づく、Grady Booch、et al。1991)
オブジェクト指向の主な原則
- 抽象化
- カプセル化(情報隠蔽)
- 階層(継承、集約)
- モジュール性(高凝集度と緩い結合)
その後のすべての原則とパターンは、この主要な原則に関連しており、それらをサポートおよび改善しようとします。
セカンドレベル
リソースの第2レベルには、原則があり、オブジェクト指向の主な原則をサポートおよび改善しようとしています。
- 固体原理
- GRASPの原則
- デメテルの法則-LoD
- など(LoDのような他の単一の名前付き原則)
第3レベル
このレベルのリソースは、デザインパターンと呼ばれます。Gof(Gang of Four)は、デザインパターンに関する最初の本を持っています。オブジェクト指向デザインの主な原則とその他の原則をサポートする23のデザインパターンがあります。
GoFの後、特定のプログラミング言語および特定のフレームワーク(J2EE Deign Patterns、JQuery Design Patternsなど)でのデザインパターンの使用について書かれた多くの本
デザインパターンはより詳細で、プログラミング言語に非常に近いものです。ただし、主な原則(トップレベル)と原則(第2レベル)は非常に抽象的です。
第4レベル
このレベルでは、:ヒューリスティックと呼ばれるリソース。
このレベルのリソースは、他のグループよりも詳細で非常に具体的です。
最高のリソースは、オブジェクト指向の設計ヒューリスティック(72ヒューリスティック)、Arthur J. Riel著、1996年です。
第5レベル
最終レベルには、ガイドラインがあります。
すべて行う、しない、避ける、...本のガイドラインをこのグループに集めることができます。
GOFはパターンです。つまり、繰り返し発生する問題に対する実証済みの設計ソリューションです。GRASPは原則であり、特定の問題ドメインに関連付けられていないため、どのシナリオでも当てはまります。