Index: [Article Count Order] [Thread]

Date:  Sun, 8 Oct 2000 14:01:42 +0900
From:  Shigeru Gougi <gougi2@....jp>
Subject:  [XP-jp:01047] Re: マップについて
To:  extremeprogramming-jp@....jp (extremeprogramming-jp ML)
Message-Id:  <200010080459.NAA02707@....jp>
In-Reply-To:  <200010080418.NAA29231@....jp>
References:  <010801c030db$c8f0f6e0$88521dac@....jp> <200010080418.NAA29231@....jp>
Posted:  Sun, 08 Oct 2000 13:59:38 +0900
X-Mail-Count: 01047

合木です。
補足です。

On Sun, 8 Oct 2000 13:20:53 +0900
Shigeru Gougi <gougi2@....jp> wrote:

> 合木です。
:
> # そして、わたしもたまたま同じような仕事をしていて同じだねとお話しましたね。^^

システムのスケール的に小柄なものなので、のときのお話をすこしだけ。

この時に、わたしはメタファーとして「映画撮影と上映」を考えました。 

そして、そのメタファーからコンポーネントとして次の4つを作りました。
(環境は、Win32で、コンポーネント基盤はCOMではなく、自作もののDLL
ベースのコンポーネント基盤です)

Supervisor       (コンポーネント基盤[脚本家と監督、舞台の関係づけ])
ScenarioWriter   (モデルラーコンポーネント、    [置き換え可能])
Director         (コントローラーコンポーネント、[置き換え可能])
Stage           (プレイヤーコンポーネント    、[置き換え可能])

------------------------------------------------
コンポーネント間でやり取りされるデータクラスとして大きなものとして
次の5を考えました。

-Scenario
   -Scene 
      - Stage-setting (メニューを含む画面レイアウトなど)
        - 細かいのがまだある
      - Action
-Actor
--------------------------------------------------------------

次に、上記のコンポーネントとやり取りされるデータクラスを元にして、
コンポーネント間のインターフェースを定義していきまいた。

コンポーネントのインターフェースを定義していくために、主となるシナリオ
を作り、そのシナリオを追いながら、インターフェースを設置し、メソッド
を定義していきました。これにより、各コンポーネントのインターフェース
と、コンポーネント間のプロトコルがほぼ決まります。

各コンポーネントのインターフェースがある程度明確になるとその内部のクラ
スの定義は、他のコンポーネントのことをそれほど意識せずに独立して行えま
した。

※このことから、コンポーネント単位の分担も可能ではないかなと考えています。

主となるシナリオが終わったら、それ以外のシナリオも満足するようにインタ
フェースを追加したり名前を変えたり、メソッドを追加したり壊して作り直し
たりを繰り返しながら、シナリオ全部を満足する状態にしていきました。

大枠と大筋を作って、詳細な設計は後回しという進め方です。

--
 Shigeru Gougi  < gougi@....jp >  
 http://www.post.self.ne.jp/~gougi/