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

色しょく是食、食しょく是色

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

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

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

  • 名詞・動詞法

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

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

  • ユーザ機能法

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

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

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