В этом выпуске мы погружаемся в одну из самых ожидаемых функций в экосистеме .NET — размеченные объединения (Discriminated Unions). Мы обсудим, почему классические паттерны C#, такие как возвращение null, использование out-параметров или исключений для управления логикой, часто делают код сложным для чтения и тестирования.В программе:
Что такое DUs и зачем они нужны? Разбираемся, как типы, представляющие один из нескольких возможных исходов, меняют подход к архитектуре и почему их называют «наследованием в функциональном программировании».
Решения сегодняшнего дня: Как имитировать DUs уже сейчас, используя библиотеку OneOf или возможности C# Records и иерархии классов.
Будущее в C# 15: Обзор нативных объединений, которые ожидаются в ноябре 2026 года. Обсуждаем «номинальные» объединения и то, как они будут интегрированы во фреймворки Microsoft.
Проблема производительности и дизайна: Большая дискуссия о boxing (упаковке) значимых типов. Стоит ли жертвовать скоростью ради простоты и как новые предложения, такие как интерфейс IUnionMembers, помогут интегрировать существующие библиотеки в новый стандарт.
Этот выпуск будет полезен разработчикам, которые хотят выйти за рамки классического ООП и использовать мощь функциональных подходов для создания надежного и поддерживаемого кода.