Existe-t-il un moyen de lier les propriétés d'une instance d'une classe aux propriétés d'une instance d'une autre classe (les champs communs entre les deux). Voir l'exemple ci-dessous:Groovy - lie les propriétés d'un objet à un autre
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
Le résultat est une erreur: Impossible de définir la propriété readonly: propriétés pour la classe: Deux
Je suis curieux de connaître l'approche générale. J'ai une application web se connectant à un datawarehouse. Le domaine de l'application Web est assez différent des tables et des données provenant de l'entrepôt. J'ai l'intention d'utiliser probablement la technique ci-dessus dans la couche de service, mais recommanderiez-vous d'avoir une couche supplémentaire responsable de la transformation des objets hérités en objets de domaine? – ontk
Cela ne fonctionne pas dans l'autre sens puisque la propriété baz n'est pas définie sur Un – dbrin