2016-11-22 13 views
1

В моем приложении для Android мне нужно выполнить некоторые сопоставления между слоями-приложениями. В основном между DTO и экземплярами классов домена.Android/Java в лучшем состоянии mapper

Так что я искал картограф, которые могли бы сделать свою жизнь проще, но большинство статей, которые я нашел довольно старые, и они описаны устаревшие картограф часто, как

  • бульдозер
  • Nomin
  • Transmorph
  • Модель моста

до сих пор я нашел только 2 до даты картографов, таких как

  1. mapStruct
  2. model mapper

Я запутался, какой выбрать и есть лучший картографа, который будет соответствовать моим потребностям?

В основном мне нужен картограф с простым и понятным API, без тонны уродливого кода, который мне нужно будет написать для работы с ним.

ответ

1

Ну, в моем проекте я использую ModelMapper. Просто начать. И он имеет хорошую документацию и широкую функциональность. Кроме того, его преимущество заключается в обычном сопоставлении.

Here вы найдете много примеров, используя его.

EDIT: Как я вижу, вы предоставили ссылку на репозиторий GitHub этого проекта в вопросе.

+0

, поэтому вы используете его для своих проектов Android, не так ли? еще один вопрос: может ли ModelMapper преобразовать два поля в один, как в случае с именем и фамилией? –

+0

@MikeHerasimov Я много использовал для серверных проектов. В основном, когда я предоставлял REST api. Ну, вы можете добавить определенные правила, это расширяемость. –

+0

ok Я посмотрю на него, тот, кто думает, что мне уже нравится, что он не использует аннотации, которые IMHO испортил код –

1

MapStruct отлично подходит для приложений Android (отказ от ответственности: проект MapStruct здесь), поскольку он не является библиотекой времени исполнения, а генератором кода, который работает во время компиляции.

I.e. вам не нужно добавлять какую-либо библиотеку в ваше приложение, но только добавьте созданные сгенерированные реализаторы. В результате получается меньший размер приложения и отличная производительность, так как нет никакого отражения или генерации байтов во время выполнения, вместо этого обычные вызовы Java getter/setter. Что также облегчает отладку сопоставлений при необходимости.

 Смежные вопросы

  • Нет связанных вопросов^_^