Automapper в ASP.NET Web API

  Рет қаралды 31,621

Platinum DEV

Platinum DEV

Күн бұрын

Пікірлер: 65
@redice8928
@redice8928 Жыл бұрын
Мне понадобился год коммерческой разработки, чтобы понять что происходит на этом видео 👍
@ciipher430
@ciipher430 Жыл бұрын
Привет. Я начинаю углубляться в ASP, до этого я работал с C++. И вот не совсем понимаю зачем использовать здесь Assembly и позднее связывание. Я понимаю, что это нужно для маппинга. Но разве это не говорит о плохой архитектуре? Разве не лучше будет просто организовать хорошую архитектуру, пускай и будет чуть больше классов, но не будет позднего связывания. Это ведь сильно бьет по производительности. Или я чего-то не понимаю?
@vladoss4643
@vladoss4643 6 ай бұрын
Аналогично))
@antya1126
@antya1126 6 ай бұрын
После года изучения c# ваш курс для меня стал определяющим. Безумно помог написать тестовое задание и получить работу в разработке
@murr_ka4374
@murr_ka4374 5 ай бұрын
Аналогично )
@dimka59ru
@dimka59ru 4 ай бұрын
Спасибо, все понятно. Но крайне кратко.
@aleksandr4409
@aleksandr4409 2 жыл бұрын
Начал смотреть и понял что понятно все очень в общих чертах. Пойду читать про .net core и ef сначала.
@maxil2761
@maxil2761 2 жыл бұрын
Вот это правильный подход!
@alexandr1408
@alexandr1408 3 жыл бұрын
Нравятся видео, но есть небольшое пожелание (ко всем урокам, а не только к данному ролику), если возможно: хорошо бы хоть немного объяснять практическую цель той или иной операции. Не просто "это мы сделаем так", а "мы это сделаем вот так потому, что... а если сделать вот эдак, то будет вон как, что вызовет такие-то проблемы". Пример. Автомаппинг. Идея понятна. Но почему в данном конкретном случае нельзя обойтись нашей моделькой Пользователь?
@PlatinumTechTalks
@PlatinumTechTalks 3 жыл бұрын
спасибо, это очень хорошее замечание, обязательно учтем! (правда, видимо, уже не в этом курсе так как этап его записи практически завершен...)
@AndrewYurchenko
@AndrewYurchenko 2 жыл бұрын
Здравствуйте ребят. Прежде всего хотел сказать спасибо за уроки. На самом деле в РУ сегменте, очень мало вообще практических уроков. Везде одна теория. Хотел бы так же присоединиться к пожеланию, немного объяснять что и зачем. Ну и хоть немного о том, как работает и почему выбрали именно это, а не другое. Правда - слишком скупо видео на это. Вижу конечно, что код был написан и поверх уже наложен звук с комментариями к нему. Не очень конечно. Так-как многие вещи например в коде человек пишет, а голос говорит совершенно про другое. И ужасный рассинхрон получается. Я понимаю если у меня уже есть опыт написания. Но ведь это как бы для обучения. Что не есть хорошо. И еще от себя: Кодер конечно для себя "красивостей навел" в редакторе. Двойной знак равенства "==" у него пишется как одинарный "=". Что очень сбивает. Ведь новички без объяснения сначала просто тупо повторяют. Вот я так например делал. Ну и в итоге пол часа искал ошибку, которая по вине "свистелок и перделок" которые себе автор кода настроил, висела у меня ошибка. Благо вы хоть код приложили. Там уже увидел что на самом деле должно быть. Тут так же совет! Для обучения желательно максимально по дефолту редактор использовать. Ну вы же все же на обучение нацелились, а не понтануться перед людьми, как быстро можно писать код. Это сугубо личное мнение. Но максимально думаю общее для всех, кто занимается обучением новичков.
@PlatinumTechTalks
@PlatinumTechTalks 2 жыл бұрын
Здравствуйте! Спасибо вам большое и за просмотр, и за приятный отзыв, и особенно за очень конструктивные замечания. Это будет очень полезно для того, чтобы делать лучше! Постараемся всё учесть в будущих видео (кроме тех, которые уже записаны). Спасибо!
@maxil2761
@maxil2761 2 жыл бұрын
Новичкам надо книжки читать, видосы уже потом смотреть. Это серия для опытных разрабов.
@AndrewYurchenko
@AndrewYurchenko 2 жыл бұрын
@@maxil2761 вы в корне не правы. Книги дают лишь теорию. Практику с наглядным примером, ни одна книга не сможет заменить. Популизм тут не уместен. ☝
@maxil2761
@maxil2761 2 жыл бұрын
@@AndrewYurchenko О каком популизме речь? Вам как раз теории и не хватает. Конкретно по Вашей фразе "Ну и хоть немного о том, как работает". Вот это и надо, о том КАК работает, либо в доке почитать, либо в книге например.
@AndrewYurchenko
@AndrewYurchenko 2 жыл бұрын
​@@maxil2761 по факту. Покажите мне книгу, про использование того же mapper или например того же NGRX для ангуляра. )) Думаю, дальше продолжать и не стоит. Тут же, на практике показывают ребята, связку инструментов. И пожелание было, немного объяснить почему такой выбор пал, а не например самому писать мапы. Я конечно не могу знать вашего возраста и тем более времени работы с кодом. От себя могу добавить. Разработкой занимаюсь более 16 лет и 11 из них коммерческой. И знаю, о чем говорю. Ни одна книга, никогда не заменит, наглядного пособия, особенно для новичка. Все остальное - банальный популизм.
@YaroslavShamov
@YaroslavShamov Жыл бұрын
Спасибо за урок.
@ptkuz2012
@ptkuz2012 2 жыл бұрын
Классные уроки) Не все понятно, конечно. Но думаю, дальше наступит прозрение))
@Nik-cv5bi
@Nik-cv5bi Жыл бұрын
Понятно примерно "Ничего". Видео по типу " Смотрите как мы умеем".
@D6t1qO2rZZ_9DcHLg
@D6t1qO2rZZ_9DcHLg 3 жыл бұрын
Привет, прикольный формат. Коротко и ясно. Спасибо
@artemadeev7444
@artemadeev7444 3 жыл бұрын
сложно пока для меня, буду разбираться. Спасибо
@sergk1393
@sergk1393 3 жыл бұрын
Спасибо!!!!!
@alexanderspiegel6747
@alexanderspiegel6747 3 жыл бұрын
Использую automapper достаточно активно. Но начиная с 4ой минуты потерял нить … Возможно ли более подробно объяснить что и зачем делается ?
@PlatinumTechTalks
@PlatinumTechTalks 3 жыл бұрын
хм.. но на 4й минуте видео заканчивается... но в целом ваше замечание понятно, спасибо! возможно про Automapper стоит поговорить потом отдельно. похоже что на данный момент это самый неоднозначный выпуск получился...
@KOCadm
@KOCadm 3 жыл бұрын
Также работаю с этой либой-аутомапер но без рефлексии. А рефлексия часом не понижает скорость роботы аппы? тут с Рефлексией не понятно. Так как не имею с ней достаточно опыта.
@beloved_guy
@beloved_guy 2 жыл бұрын
@@PlatinumTechTalks видео идёт 4:12, а значит, заканчивается на 5-й минуте) 4-я минута начинается с 3:01. Сорян за дотошность) а за видос спасибо!
@dmitriusold8084
@dmitriusold8084 Жыл бұрын
Обьясните пж зачем использовать Assembly?
@Miklrav
@Miklrav Жыл бұрын
Здравствуйте. Спасибо за интересный курс. Один вопрос не по теме, какой шрифт вы используете в редакторе студии? Явно не стандартный ))) Заранее спасибо.
@PlatinumTechTalks
@PlatinumTechTalks Жыл бұрын
www.jetbrains.com/lp/mono/
@scc-6
@scc-6 Жыл бұрын
Я правильно понимаю, что это больше про архитектуру, а не что-то начинающим девам на шарпе? Я досмотр., конечно, но туго на х2 идёт
@pojokerfier3824
@pojokerfier3824 Жыл бұрын
Переменная methodInfo будет иметь значение null в том случае, если мы не переопределим интерфейс по умолчанию, поэтому необходимо получить сам интерфейс и от него уже вызвать метод GetMethod("Mapping"). То есть, переписать строку кода вот таким образом: var methodInfo = type.GetMethod("Mapping") ?? type.GetInterface("IMapWith`1")?.GetMethod("Mapping");
@BraentR
@BraentR 3 жыл бұрын
Спасибо
@maxil2761
@maxil2761 2 жыл бұрын
Лайк, подписка :)
@Дмитрийсекрет-н7о
@Дмитрийсекрет-н7о 3 жыл бұрын
Спасибо.
@Mbyte-rx8lj
@Mbyte-rx8lj Жыл бұрын
Разъясните пожалуйста зачем мапить такие данные или это просто для примера и не обязательно?
@andreisokolov187
@andreisokolov187 3 жыл бұрын
Спасибо. ^^
@duming3076
@duming3076 2 жыл бұрын
非常感谢!
@ciipher430
@ciipher430 Жыл бұрын
Привет. Спасибо тебе за твои видео. Столько полезного в 10 минутах сейчас редко можно найти. Я начинаю углубляться в ASP, до этого я работал с C++. И вот не совсем понимаю зачем использовать здесь Assembly и позднее связывание. Я понимаю, что это нужно для маппинга. Но разве это не говорит о плохой архитектуре? Разве не лучше будет просто организовать хорошую архитектуру, пускай и будет чуть больше классов, но не будет позднего связывания. Это ведь сильно бьет по производительности. Или я чего-то не понимаю?
@nikolaifedorov685
@nikolaifedorov685 Жыл бұрын
И на сколько сильно это бьет по производительности?
@mrjekagm
@mrjekagm 2 жыл бұрын
В code first можно атрибутами прописать все ограничения для свойств, включая ключи и индексы. Так намного нагляднее при работе с классом. Не надо лезть в TypeConfiguration. Что касается автомаппера, то для него есть конфигурация чтения всех Profile из сборки. В этом случае не потребуется наследование от IMapWith.
@Amir-xg4nn
@Amir-xg4nn Жыл бұрын
Fluent Api более гибкий, для определенных задач, + модельки сущностей остаются красивыми.
@nikolaifedorov685
@nikolaifedorov685 Жыл бұрын
@@Amir-xg4nn Каких задач? Модельки сущностей красивыми остаются - это как? Класс без атрибутов - ради этого предлагается переключаться между двумя классами? Зачем???! Не видел ни одной задачи, которая не решается с помощью атрибутов!
@ОлексійКолесник-ф4ж
@ОлексійКолесник-ф4ж 2 жыл бұрын
Как использовать реализацию Mapping по умолчанию из IMapWith? У меня она не вызывается даже.
@PlatinumTechTalks
@PlatinumTechTalks 2 жыл бұрын
чтобы ее использовать достаточно не переопределять эту реализацию в классах реализующих интерфейс
@olehfilipchuk8257
@olehfilipchuk8257 Жыл бұрын
Смысл в маппере если он только на get маппит? а остальное все руками пишем... если у меня entity c кучей списков маппится в dictionary и обратно с проверкой добавления\удаления имеет ли смысл расписыват маппинги, тем более что при обновлении сущности маппинг не сработает -мы не можем маппить в готовый обьект...
@АндрейМихеев-к4ю
@АндрейМихеев-к4ю 2 жыл бұрын
Идея супер, с профессиональным созданием веб апи. Но проблема в том, что как и для чего это делается, не понятно (никто не объясняет). В итоге, проще и понятнее, просто скопировать проект или по очереди, бездумно накодить, повторив за Вами. А потом сесть и разбираться, что тут для чего. Просьба, раз вы всеравно решили потратить свои силы и время, добавьте пожалуйста объяснения, что бы отдельно взятый урок описывал конкретную тему, а не был просто продолжением чего-то там, что было раньше, и не завершал тему, а оставлял это на будущие уроки
@maxil2761
@maxil2761 2 жыл бұрын
В данной серии уроков этого как раз не нужно. Эта серия для профессиональной(!) разработки, как Вы правильно сказали. Новичкам следует посмотреть, а лучше почитать, что-то другое, где именно разивываются основы, чтоб бездумно не накодить.
@ВладиславКресак-б3ъ
@ВладиславКресак-б3ъ 2 жыл бұрын
Так много, всякого, маперы, интерфейсы, энтети, дто... Надеюсь когда нибудь пойму нахера это все нужно вообще)
@dr1n
@dr1n 2 жыл бұрын
Ну вот опять прибили гвоздями автомаппер к уровню бизнес логики. Ему место в инфраструктуре
@PlatinumTechTalks
@PlatinumTechTalks 2 жыл бұрын
это с какой стороны посмотреть. мы работаем с DTO - это вполне часть бизнес логики
@nikolaifedorov685
@nikolaifedorov685 Жыл бұрын
@@PlatinumTechTalks Передача объекта - это бизнес логика? С каких пор?
@smrsgv
@smrsgv 3 жыл бұрын
@BrownAleks
@BrownAleks 2 жыл бұрын
Рефлексия с прицелом на собственные интерфейсы? Что то с вашим кодом не то... где то вы перестарались. 🤨
@nikolaifedorov685
@nikolaifedorov685 Жыл бұрын
Почему?
@richarddaniel7088
@richarddaniel7088 3 жыл бұрын
Урок отстой реально))) тут даже урока как такового нет. Мы используем автомапер, за я набросал код, а вы повторите. Бред
@PlatinumTechTalks
@PlatinumTechTalks 3 жыл бұрын
Расскажите, что вы ожидали увидеть и мы станем лучше
@richarddaniel7088
@richarddaniel7088 3 жыл бұрын
@@PlatinumTechTalks очевидно что объяснения как работает автомапер с объяснением на конкретном примере, а не на словах, мол есть такая штука, он существует для связей сущностей, и для чего его в реальных проектах используют. У вас на канале много сложнейших тем в таком же стиле - и Очень мало и очень абстрактно при этом полный ноль обьяснея самих механизмов. Уроки по авторизациям и прочие продвинутые моменты это должны быть минимум 15 минут концентрированного материала с примерами работы технологии и ее различными вариантами(конечно же и это только для одной подтемы!), но не так как у вас- есть такая штука =>заготовленный код=> делайте так. Это говорит о том что либо вы не разбираетесь в том что делаете, либо уроки на Ютубе это вообще не ваше.
@denisadimov7709
@denisadimov7709 3 жыл бұрын
​@@richarddaniel7088 может, в таком случае стоит дополнительно ознакомиться с работой фреймворков и технологий которые здесь используют на других ресурсах? Мне тоже кое-какие моменты не понятны, но это скорее вопрос к моему понимании работы с рефлексией, пониманию принципов архитектуры приложений и тд. И если у меня все же остаются вопросы, то Google search в этом отлично помогает. Как по мне, как раз у этого KZbin канала плюс в том, что здесь нет уроков на уровне "Как создать сайт за 5 минут". Показаны практики которые используют в реальных проектах
@maxil2761
@maxil2761 2 жыл бұрын
Это просто не Ваш уровень. Это урок для профессионалов. Почитайте книги сперва, ознакомьтесь, что такое маппер.
@lerokanz3482
@lerokanz3482 2 жыл бұрын
Ничего не объяснил - как работает не показал - збс видео... Даже 4 минуты жалко. Лучше не делать - чем делать так. Давай запиши видео на 4 секунды - тиктокер... Это когда сам не умеешь - так учишь.
@metlic5209
@metlic5209 3 жыл бұрын
Не раскрыт практический use-case использования автомаппера. Зачем в простом приложении, с простой моделью данных, это вообще нужно, когда проще смаппить вручную? Лучше было бы раскрыть через материал из поста "AutoMapper's Design Philosophy" Джими Богарда, автора либы.
@fedorbogdanov2335
@fedorbogdanov2335 3 жыл бұрын
Спасибо!!!
@IvanenkoStepan
@IvanenkoStepan 3 жыл бұрын
Спасибо!!!!!!
Don't underestimate anyone
00:47
奇軒Tricking
Рет қаралды 25 МЛН
Noodles Eating Challenge, So Magical! So Much Fun#Funnyfamily #Partygames #Funny
00:33
Создание ASP NET Core Web API приложения
15:23
Platinum DEV
Рет қаралды 29 М.
Создаем масштабируемую архитектуру
14:56
Unit-тесты в .NET с использованием xUnit
17:02
Don't underestimate anyone
00:47
奇軒Tricking
Рет қаралды 25 МЛН