Если я правильно прочитал вопрос, ModelA
объекты могут быть преобразованы в ModelB
объекты. Я бы сказал, что требует ToModelB()
метод на ModelA
. Если преобразование является простым (скажем, просто копирование подмножества значений свойств ModelA
), я бы реализовал его непосредственно в ToModelB()
; если это более сложно (скажем, условное копирование некоторых значений свойств, комбинация значений, арифметика и т. д.), у меня был бы класс ModelAConverter
, который выполнил эту работу.
Затем я бы добавил AddModelAObjects()
метод, который вы упомянули, к DomainObject
. Затем у вас есть два варианта преобразования ModelA
s в ModelB
s - либо вы вводите ModelAConverter
в конструктор DomainObject
и выполняете преобразование в AddModelAObjects()
, либо в ModelA
' S конструктор и сделать преобразование в ToModelB()
. Я бы, наверное, выбрал последнее, но это зависит от того, что еще должны делать объекты.