Graphical User Interface を含むプログラムでは、その表示され るもの(View) と、それが表しているObject (Model) というように わけてプログラムする方法がある。View と Model とは同期を取る 必要があり、それを担当するControllerというObjectが担当する。 これを、Model-View-Controller (MVC) という。
MVC は、Phigs などでも採用されていて、GUIや3D Visualのプログラムでは 良く使われる手法である。しかし、Controller が複雑になることが多く、 View と Model とで同じような構造体を用意しなければならないなど、不都合な 点も多い。
Multi-user card game をJavaで作ることを考えてみよう。これを、情報モデル、 状態モデル、そして、システム全体の振る舞いを考えることによってオブジェクト 指向問題分析を行う。
まず、情報モデルを作成する。必要なオブジェクトを抜き出す。
次に、その相互の静的な参照関係を考える。
参照関係を図で表現する。以下の記法を思い出そう。