Top.Mail.Ru
Разработка
C#
Полиморфизм в .NET - от сериализации до архитектуры приложений
3 октября
11.30-12.10
Green 7

Описание:

При разработке на .NET часто возникает необходимость сериализовать и десериализовать иерархии типов — например, поля форм с разными типами значений. В .NET экосистеме для этого традиционно использовали Newtonsoft.Json, но с переходом на System.Text.Json разработчики сталкиваются с ограничениями — встроенная поддержка полиморфизма в STJ неполная и требует ручной настройки.

Тезисы:

- Когда и зачем нужна полиморфная сериализация? (на примере моковой реализации backend-driven ui)

- Как работают Newtonsoft.Json и System.Text.Json «из коробки» при сериализации и десериализации иерархий.

- Как включить поддержку полиморфизма в:

1. Newtonsoft.Json (через TypeNameHandling)

2. System.Text.Json (через JsonDerivedType)

3. Сценариях, где JsonDerivedType невозможен — кастомный TypeInfoResolver и JsonDerivedTypeRegistry.

- Готовые фрагменты кода и архитектура, подходящая для DI и модульного расширения.

- Бенчмарк производительности трёх подходов: Newtonsoft, STJ с атрибутами, STJ с TypeInfoResolver.

Для кого:

.NET-разработчики уровня middle и выше, работающие с сериализацией и API. Особенно полезно тем, кто планирует миграцию на System.Text.Json.

Требуемый уровень подготовки:

Средний: базовые знания ООП и сериализации в .NET, понимание работы JSON.