2010-08-04 2 views
4

, что является лучшим решением для объекта класса отображения для легкого объекта класса на примере:Отображения объекты

Клиент CustomerDTO оба имеют имена одинаковых свойств, я думал о лучшем оптимизированном решении для отображения между ними, я знаю отражение замедляет меня плохо, и создание методов для каждого сопоставления занимает много времени, поэтому любая идея?

благодарит заранее.

+0

Отражение, вероятно, не замедляет вас так сильно, как вы думаете. –

+0

Это происходит во время выполнения? – AnthonyLambert

+0

im сопоставление объектов между слоями, чтобы потерять пары – Stacker

ответ

7

AutoMapper. Также есть ValueInjecter и Emit Mapper.

+0

Черт, избили меня. +1 –

+0

automapper настолько медленный, что я попробовал его и протестировал его медленнее, чем делать картографическое руководство с 20 раз! – Stacker

+0

@Zeus. Действительно, но оказывает ли это заметное влияние на вашу систему? –

1

Я играл с этим и имею следующие наблюдения. Должен ли клиент наследовать от CustomerDTO или читать/писать в CustomerDTO? Я обнаружил, что некоторые генераторы DTO генерируют немые массивы массивов фиксированного размера для векторов элементов данных в других DTO, которые позволят вам указать LIST <> или некоторую такую ​​коллекцию. Сборник высокого уровня не обязательно должен появляться в сериализованном DTO, но эффекты, которые подходят вам. Если ваше решение добавляет коллекции высокого уровня, то вы можете наследовать, если это не так, вы, вероятно, захотите прочитать/записать в промежуточный DTO.

Я использовал протокольные буферы и XSDObjectGenerator для своего поколения DTO (в разное время!).

2

Если отражение замедляет вас слишком много, попробуйте Fasterflect: http://www.codeproject.com/KB/library/fasterflect_.aspx

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

+0

им захочется попробовать, и я дам ответ – Stacker

0

Новая альтернатива UltraMapper.

Быстрее, чем все, что я пробовал до февраля 2017 года. (В 2 раза быстрее, чем Automapper в любом сценарии)

Это более надежный, чем AutoMapper (без StackOverflow, без ограничений по глубине, без ограничений самооценки).

UtraMapper - это всего 1300 строк кода вместо более чем 4500+ Automapper, и его легче понять, поддерживать и вносить в проект.

активно развивается, но на данный момент это нуждается в обзоре сообщества. Дайте ему попробовать и оставьте отзыв на странице проекта !.

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