OR事典 |
GRASP法
【英】:GRASP (greedy randomized adaptive search procedure)
多スタート局所探索法において,局所探索法の初期解生成にランダム化欲張り法(すなわち欲張り法にランダム性を加味したもの)を用いるもの.欲張り法は通常各反復において局所的評価値の最も良い選択肢を採用するが,ランダム化欲張り法では局所的評価値の良いものいくつかの中からランダムに選択を行う.比較的精度の良い多様な解を局所探索の初期解として生成できるという利点がある.
ウィキペディア |
GRASP
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2009/09/15 18:24 UTC 版)
GRASP、General Responsibility Assignment Software Pattern あるいは ~Principle とは、オブジェクト指向設計において用いられる、クラスやオブジェクトに責務を割り当てる方針を導くパターンや原則である。Craig Larmanが著書「実践UML」で示した。
GRASP で例として示される様々なパターンや原則として、「情報エキスパート (Information Expert)」、「生成者 (Creator)」、「コントローラ(Controller)」、「疎結合 (Low Coupling)」、「高凝集性 (High Cohesion)」、「多態性 (Polymorphism)」、「純粋人工物 (Pure Fabrication)」、「変動からの保護 (Protected Variations)」、「間接化 (Indirection)」がある。
これらのパターンは全て何らかのソフトウェアの課題に対する回答であり、大半のものはソフトウェア開発プロジェクトのほとんどに共通である。したがって、これらのパターンは新しい情報を導き出すのではなく、これまでに実証されたオブジェクト指向設計におけるプログラミングの原則をよりよく記述し、標準化するためにある。
「ソフトウェア開発において決定的な設計技術となるのは、設計の原則の中で磨き上げられた考え方である。UML やその他の技法ではない」(Larman, CraigApplying UML and Patterns - Third Edition. [1]). つまり、GRASP はオブジェクト指向ソフトウェアの設計を助ける、純粋に考え方そのものである。
- ^ (Larman 294)
- ^ GetterEradicator
- ^ (Larman 292)
- ^ Comparison/discussion of the GRASP Controller Layer vs. Application/Service Layer
- ^ (Larman 314-315)
- 1 GRASPとは
- 2 GRASPの概要
- 3 引用した資料