akon2.00βのよっぱらいの戯言

色しょく是食、食しょく是色 当サイトではアフィリエイトプログラムを利用して商品を紹介しています。

コントロールクラスの抽出方法

コントロールとは、システムが提供するサービスのことである。古来、クラスの抽出には苦労している。そして、以下のような方法が考えられている。興味深いのは、CRC法以外はすべてPeter Coadによるものである。

CRCカードを使って、クラス(Class)とクラスの責務(Responsibility)、およびクラス間の協調(Collaboration)から抽出していく方法。ブレインストーミングとロールプレイングを組み合わせると効果的である。クラスの粒度についてあいまいになりがちである。

  • 名詞・動詞法

ユースケースや用語集などから、名詞(句)を探し出して、クラスの候補とし、動詞(句)を探し出して、メソッドの候補として作成していく方法。 日本語の場合、名詞か動詞かあいまいな場合がある。

4つのアーキタイプ、瞬間―時間間隔、役割、パーティ/場所/物、説明に分類し、色分けして、パターンに当てはめて分析していく方法。初心者に向いているが、手間がかかる。

  • ユーザ機能法

サービスを最小単位まで、分解することで抽出する方法。最小単位まで分割するため、状態を持たないサービスにできる。このため、DIコンポーネントに適した方法である。以下の書式で表現する。

<オブジェクト><結果><アクション)>

なお、kusuでは、VO(〜を〜する)で記述することを推奨している(Vは現在形の能動態)。