ObjectSquare [1999 年 6 月号]

[オブジェクト指向は本当に「オブジェクト」指向か?]


3.4 いつ分類によるモデリングをすべきか?

ここまでは、必要に応じて多重分類や動的分類をも積極的に使う「分類によるモデリング」の有効性について述べてきました。
しかし最終的にモデルは、オブジェクト指向言語を使って、プログラムとして実装しなければなりません。したがって問題領域を正しく把握できたら、次の段階では単一分類と静的分類だけを使ったモデルに変換する必要があります。
(Martin Fowlerは、前者を概念モデル、後者を仕様モデルと呼んで区別しています。)

したがってあとで実装できるモデルに変換することを忘れないため、多重分類、動的分類を使っている部分がどこなのかをきちんと認識しておく必要があります。
(なおUMLでは、多重分類を継承の制約として { overlapping } と表現する書き方が標準で規定されています。しかし動的分類を表現する標準記法は規定されていません。ただし実用的には、ノートアイコンを使ってコメントを書いておけば十分でしょう。)

ただし多重分類、動的分類を使用する場合には注意が必要です。
もしプロジェクトの中に、オブジェクト指向プログラミング言語に親しんだメンバーが多く、多重分類や動的分類を使うことで混乱を招きそうな場合は、概念モデリングの段階でも単一分類と静的分類だけを使ったモデルを作るべきでしょう。
反対の表現をすると、多重分類や動的分類は、それを使ったモデルと、実装するためのモデルの違いを理解できるほどに熟練された人か、あるいは逆にオブジェクト指向プログラミング言語による実装のイメージをあまり持っていない人を相手にモデリング作業を進めるような場合にのみ使うべきと言えます。そうでない場合には、概念モデリング段階であっても、単一分類と静的分類だけを使用したモデルにしておき、次の段階で実装環境や拡張性、理解容易性などを考慮して「あらためて設計する」アプローチを採用すべきでしょう。


© 1999 OGIS-RI Co., Ltd.

Prev.

Index

Next