質問: "ドラゴンダイブ" └ 取り込みメソッド(人間クラス) ``` ここで、Zさんインスタンスのプロパティを編集する画面を用意するとき、各プロパティを編集可能にし、その変更内容を反映、破棄できるようにすると、どのような振る舞いをどのクラスでさせたらよいか、今一分かりません。 現状では、 1編集画面のコントローラに、Zさんインスタンスのクローン(以下Z2)を渡し、双方向バインディングさせる。 2ボタン「反映」を押下するとH協会インスタンスの反映メソッドにZ2を送り実行する。 または、ボタン「破棄」を押下したらZ2を破棄し終了 3案1:H協会インスタンスの反映メソッドはZさんインスタンスを除外し、Z2を同じ場所におさめる。 3案2:H協会インスタンスの反映メソッドはZさんインスタンスの取り込みメソッドで、Z2のプロパティを自身に反映させるよう指示する。 としています。 案1も案2も、クローンをバインディングさせる事も不自然に思います。 こういう場合はどのようなやり方が適切なのか、ご教授いただけると助かります。 一応、作っているものはデスクトップアプリケーション、言語はc#やjavaを使用しておりますが、どの言語でも構いません。 以上、よろしくお願いいたします。
回答: はじめまして、こんにちわ。 環境によりますが、Javaでウェブやアプリなどの開発に絞れば、人や組織を表す項目のインスタンスが「反映」などの メソッドを持つことはあまり一般的ではありません。 こうした項目は通常`POJO`と呼ばれるオブジェクトで表され値の保持と、値へのアクセス以外の機能は持ちません。項目へのアクセスはモデルクラスに設けたをメソッドを介して、コントローラーやビューから行います。一般的な、MVC2モデルの実装方法ですね。 ですので、私がするのであればオブジェクト操作用のクラスを作り、そこでオブジェクトを編集する機能を集中します。 双方向バインドなどにも触れられているので、具体的な環境があるかと思われます。 WEBなのかゲームなのか、フレームワークはどうなのか、もしくは何を作りたいのか、など詳細をいただければ、より具体的な回答が、得られるかもしれません。