home.social

#dto — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #dto, aggregated by home.social.

  1. Records в C#: Классы, которые пишут код за вас

    Давайте представим, что вам нужно создать класс для хранения данных пользователя. Сколько строк кода вы напишете? Конструктор, свойства, метод ToString(), сравнение объектов... А если добавится новое поле? Придется обновлять конструктор, метод Equals, GetHashCode — утомительная работа, которая не добавляет бизнес-ценности вашему приложению. В этой статье мы разберем, как records меняют подход к написанию кода, и почему они должны стать вашим стандартным выбором для представления данных.

    habr.com/ru/companies/otus/art

    #c# #net #dto #value_object #c#_9 #c#_100 #иммутабельность

  2. [Перевод] Оверинжиниринг в луковичной и гексагональной архитектурах

    Команда Spring АйО перевела статью, которая рассказывает о том, как луковичная и гексагональная архитектура часто используется программистами в неоправданно сложном варианте, взятом из учебника, и как эти архитектурные стили можно упростить, получив от этого существенные преимущества в плане затрат на разработку и поддержку.

    habr.com/ru/companies/spring_a

    #overengineering #onion_architecture #hexagonal_architecture #clean_architecture #interface #strict_layers #code_smell #rest_api #mock #dto

  3. Value object и DTO в PHP (DDD)

    В чем разница и когда что использовать? Это был один из вопросов, на которые я пытался получить ответ. Попытаюсь тут описать ту практику, которую считаю не плохой. С примерами на PHP . Постараюсь описывать на простом языке - без использования сложной терминологии . Лучше всего это два подхода понимаются в слоистой архитектуре(слой презентации , доменный , инфраструктура , приложение - те, которые на текущий момент я использую в итоговом примере).

    habr.com/ru/articles/916590/

    #ddd #solid #clean_architecture #php #value_object #dto

  4. Как защитить бизнес-логику от мутаций в DTO: коротко

    Привет, Хабр! Сегодня рассмотрим как обезопасить бизнес-логику от случайного (или злонамеренного) изменения DTO, чем опасна мутабельность моделей и какие инструменты дают C#, Java, Python и Go, чтобы вы больше никогда не ловили эти баги.

    habr.com/ru/companies/otus/art

    #teamlead #DTO #Безопасность_бизнеслогики #Value_Object #Иммутабельность_DTO #антимутабельность_моделей #ошибки_авторизации

  5. Хватит маппить все руками, используй Mapster

    Привет, Хабр! Меня зовут Георгий, я С#-разработчик в SimbirSoft. Хочу рассказать об опыте использования библиотеки Mapster: как он может упростить разработку, сэкономить силы и частично избавиться от рутины маппинга. Данная статья подойдет и тем, кто только собирается открыть для себя мир автомаппинга, и тем, кто хочет найти для себя альтернативу используемой библиотеки. Для полного понимания, что тут будет происходить желательно обладать базовым пониманием C#, знать о существовании DI и подозревать, что рефлексия не так проста, как кажется. Ну и LINQ с EF.Core, куда же без них (хотя про них достаточно просто когда-то слышать и примерно представлять, зачем они нужны).

    habr.com/ru/companies/simbirso

    #маппер #маппинг #mapping #mapper #dto

  6. Fellow #dotNET developers, I have a repo that has already all #DTO objects and a #SwaggerUI #OpenAPI definition. Now I am about to write two clients—one will be an #ASPNETCore website using that API, the other is a .NET #MAUI client. Which route would you go for a client SDK that connects the clients with the #AzureFunctions API?