Расширяемый дизайн карт - PullRequest
1 голос
/ 06 декабря 2011

У нас есть такой сценарий, как.

ClassA имеет некоторые свойства, а ClassZ имеет те же свойства, что и ClassA, а затем в середине у нас есть преобразователь, который отображает свойства из ClassZ в ClassA и наоборот.Мы не используем Reflections, и мы делаем это вручную (используя classZ.setXXX (classA.getXXX ())).

Теперь предположим, что мы хотим расширить ClassA до ClassB и добавить новые свойства, мы также расширили ClassZ до ClassYи добавить аналогичные свойства в нем.Так что теперь нам нужно сопоставить ClassY и ClassB.

Может кто-нибудь предложить мне хороший расширяемый шаблон проектирования для этого.Можно ли это сделать с помощью Decorator или с помощью перехватчиков?

С уважением

Ответы [ 2 ]

0 голосов
/ 07 декабря 2011

Один из подходов, который я понял, это использование @Decorators (CDI). Я определяю Mapping Decorator, который сначала делегирует вызов исходному mapper, а затем отображает новые поля

0 голосов
/ 06 декабря 2011

Не шаблон проектирования, но определенно инструмент, который может помочь: AutoMapper .

Помогает с отображением между двумя объектами. Если имена свойств похожи, сопоставление будет настроено автоматически. Если у вас есть исключения, вы можете определить их в одном месте и использовать их повсеместно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...