Роман Неволин - Почему ваша архитектура функциональная и как с этим жить
HTML-код
- Опубликовано: 12 сен 2024
- Ближайшая конференция - DotNext 2024, 10 - 11 сентября, Москва + online
Подробности и билеты: jrg.su/x2GKnA
- -
Задумывались ли вы, как часто пишете в функциональном стиле? Возможно, это происходит чаще, чем кажется...
Если ваш проект - не дремучее легаси, то, скорее всего, он имеет в основе какую-нибудь модную архитектурную концепцию. CQRS, например. Или DDD. А может, Actor Model? Впрочем, без разницы - все они так или иначе связаны с миром функционального программирования. И даже если на вашей футболке написано «OOP only and forever», вы, вероятно, каждый день пишете функциональный код.
Как так вышло, в чем это выражается, как с этим жить и чем понимание принципов функциональной архитектуры может помочь улучшить ваш код? Обо всем этом мы с вами и поговорим.
К вопросу о наименовании методов типа FindUser. Префикс Try* принято добавлять к методу, если он возвращает bool: TryParse, TryGetValue. Если же метод может вернуть null, то это принято обозначать суффиксом *OrDefault: FirstOrDefault, GetValueOrDefault.
Это просто прекрасно!! Практика великое дело, не с книжки академизмы зачитывает, спасибо Роман
Отличный доклад, спасибо!
Интересно. Погрело душу.
Отличный доклад, спасибо!
Отличный доклад
Хороший доклад. Но есть вопрос: если у нас бизнес-логика вынесена в отдельный проект и соответственно существует два этапа валидации (в веб-сервисе мы проверяем, что поля не пустые, а уже в "бизнесе" проверяем корректность данных по форме, а например в DAL проверяем, что они ещё и корректны по сути)... То как быть с ValidationException и всем этим наследованием? не пробрасывать же HTTP Code аж с DAL.
Правильно ли я понимаю, что использование парадигмы ФП подразумевает частичный отказ от паттерна Состояние?
Переходи на функциональную сторону, у нас функции
!обисапс ,далкод йынчилтО