ドキュメント/ビュー アーキテクチャにおけるドキュメント管理方法について

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
kame
記事: 6
登録日時: 3年前

ドキュメント/ビュー アーキテクチャにおけるドキュメント管理方法について

#1

投稿記事 by kame » 3年前

ドキュメント/ビュー アーキテクチャにおけるドキュメント管理方法について確認させてください。
(ここで、「ドキュメント」というのは、シリアライズしたいデータを指しています。)

例えば、エクセルのようなアプリをドキュメント/ビュー アーキテクチャで作成する場合、
ユーザ操作によりビュー上のデータ(セル)が変更されたと同時に、
ドキュメントクラスへ変更データを書き込みにいくべきでしょうか?
(セルクラスでも値を保持しているが、それと同じデータをドキュメントクラスへ書き込みに行く。ドキュメントとビューの値を常に同期させる考え。)

それともある任意のタイミング、例えば保存ボタンが押されたタイミングで、ドキュメントクラスへ変更データを書き込みにいくべきでしょうか?
(シリアライズデータとドキュメントクラスのデータを同期させる考え。
変更を確定するまではドキュメントクラスとビュークラスの値に不一致が生じるが、簡単なUndoを実装するのによさそう?)

あるいは他に定石があれば教えてください。

よろしくお願いします。

たいちう
記事: 418
登録日時: 9年前

Re: ドキュメント/ビュー アーキテクチャにおけるドキュメント管理方法について

#2

投稿記事 by たいちう » 3年前

> あるいは他に定石があれば教えてください。

ビューが同期すべきデータを持たないのが理想なのでは?
ユーザがセルを操作したら、ビュークラスはドキュメントクラスの更新用メソッドを呼び出し、
自分自身やセルクラスの再描画メソッドを呼び出します。

セルクラスの描画に必要なデータはドキュメントクラスしか持っていないので、
セルクラス描画時には、ドキュメントクラスのデータ取得用メソッドを呼び出します。

kame
記事: 6
登録日時: 3年前

Re: ドキュメント/ビュー アーキテクチャにおけるドキュメント管理方法について

#3

投稿記事 by kame » 3年前

回答ありがとうございます。
参考にさせていただきます。

閉鎖

“C言語何でも質問掲示板” へ戻る