GRASPパターン - Pure Fabricationパターン(純粋架空物パターン)AdvertisementPure Fabricationパターンで提唱しているもの
Pure Fabricationパターンでは、オブジェクトの凝集性を高めるために人工的なクラスを定義して責務を割り当てるように提唱している。
考察
ほとんどのシステムでは、人工的に作成したクラスが存在しないことは稀である。代表的な例として、定数を管理するクラスやデータベースとのやり取りを行うクラスは人工的なクラスに分類することができる。
人工的なクラスを定義することにより、非人工的なクラスではアプリケーションの問題領域に特化した設計を行うことができるようになる。 メリット
ものすごく単純な例
書籍を表現するクラスがある。まず始めに、Expertパターンのみを意識して責務の割り当てを行ってみる。具体的には「書籍をデータベースに登録する。」という責務を書籍の情報をもっている書籍クラスに割り当てる。
![]() 図1:書籍クラス ここで別の視点から設計を考えてみる。「書籍」というのは業務分析で抽出されたクラスである(ドメインクラス)。一方で、「データベースとの通信」はシステムを実現するために必要な機能である(非ドメインクラス)。一般的にドメインクラスと非ドメインクラスをひとまとめに考えると、オブジェクトの凝集性が低下するため、あまりよくない設計になってしまう。 次にPure Fabricationパターンでの設計を考えてみる ![]() 図2:ドメインクラスと非ドメインクラスの分離 図2のように、ドメインクラスと非ドメインクラスを分離した結果、書籍クラスには問題領域に対する情報のみ保持されることになり、凝集性を高めることができた。 Advertisement |
ショートカット・634トップページ・このカテゴリのトップページに戻る ・634ラボ サイト検索Y!ログール |