クラスのあるインスタンスから別のクラスのインスタンスのプロパティ(2つの共通フィールド)にプロパティをバインドする方法はありますか?下の例を参照してください:Groovy - あるオブジェクトから別のオブジェクトへのプロパティのバインド
class One {
String foo
String bar
}
class Two {
String foo
String bar
String baz
}
def one = new One(foo:'one-foo', bar:'one-bar')
def two = new Two()
two.properties = one.properties
assert "one-foo" == two.foo
assert "one-bar" == two.bar
assert !two.baz
結果が誤りである:読み取り専用プロパティを設定できません:クラスのプロパティ:二
私は一般的なアプローチについて興味があります。私は、データウェアハウスに接続しているWebアプリを持っています。ウェブアプリケーションのドメインは、倉庫から来るテーブルやデータとはまったく異なります。私はおそらく上記の技術をサービスレイヤーで使用するつもりですが、レガシーオブジェクトをドメインオブジェクトに変換する役割を担う追加のレイヤーを持つことをお勧めしますか? – ontk
これは、bazプロパティが1に定義されていないため、逆に働きません – dbrin