- 240 名前:デフォルトの名無しさん mailto:sage [2008/03/07(金) 17:07:46 ]
- >>239
>Vを作る人は、Mがどういう仕様かを知ってはいけないと思います。 いやいやいや。 ビューはモデルの仕様を知っている。 でなければ、何を描くのかすらわからんではないか。 ツリーモデルをマインスイーパービューに渡してどうしろというんだ。 ツリービューはツリーモデルを描く。 マインスイーパービューはマインスイーパーモデルを描く。 interface MinesweeperModel { int getWidth(); int getHeight(); boolean isFlagSet(int x, int y); boolean isOpen(int x, int y); boolean hasMine(int x, int y); void addChangeListener(ChangeListener l); void removeChangeListener(ChangeListener l); } こんなのでいいかと。 これをどう実装するか(二次元配列?)は、モデルの実装の詳細であって、ビューはそれを知る必要はない。 これをどう表示するか(JTable?)は、ビューの実装の詳細であって、モデルはそれを知る必要はない。 ただし両者とも、そのインタフェイス (MinesweeperModel) の仕様は知っている。
|

|