Start Debugging

Тег: comparison

49 статей · Страница2из5

Typed results (Results<>) против IResult против IActionResult в ASP.NET Core 11
В ASP.NET Core 11 возвращайте Results<T1, TN> с TypedResults для minimal API и ActionResult<T> для контроллеров. Относитесь к голым IResult и IActionResult как к аварийным выходам: они компилируются для любого ответа, но ничего не сообщают OpenAPI, так что за них вы расплачиваетесь написанными вручную атрибутами ProducesResponseType.
WebApplication.CreateBuilder vs CreateSlimBuilder vs CreateEmptyBuilder в ASP.NET Core 11
Используйте CreateBuilder для обычного приложения, CreateSlimBuilder, когда публикуете с обрезкой или Native AOT за TLS-прокси, и CreateEmptyBuilder только тогда, когда хотите зарегистрировать все сервисы сами. Вот матрица возможностей и подводные камни, которые определяют выбор.
Комплексные типы против владеемых сущностей в EF Core 11: что выбрать?
В EF Core 11 по умолчанию используйте комплексные типы для объектов-значений и переходите на владеемые сущности только тогда, когда вам нужна отдельная таблица или коллекция, отображённая на собственные строки.
Output caching против response caching в ASP.NET Core 11: что выбрать?
Output caching -- это правильный вариант по умолчанию почти для любого серверного приложения на ASP.NET Core 11. Response caching выигрывает только тогда, когда ваша цель -- управлять кешами браузеров и прокси через HTTP-заголовки. Вот это решение, с матрицей возможностей и подводными камнями, которые определяют выбор.
TPH vs TPT vs TPC для маппинга наследования в EF Core 11: что выбрать?
В EF Core 11 по умолчанию используйте TPH почти для любой иерархии, обращайтесь к TPC только когда вы преимущественно запрашиваете один листовой тип и бенчмарк доказывает его выигрыш, а TPT применяйте только когда к этому вынуждает внешнее ограничение.
Именованные фильтры запросов vs один глобальный фильтр запросов в EF Core 11: что выбрать?
Оба варианта генерируют одинаковый SQL. Прибегайте к именованным фильтрам только тогда, когда нужно отключить один предикат независимо; один комбинированный фильтр проще для единственной задачи в EF Core 11.
shrinkWrap vs Expanded vs sliver-ы для длинных списков в Flutter: что выбрать?
Для длинного списка никогда не используйте shrinkWrap. Используйте Expanded, когда список является единственным прокручиваемым элементом, и sliver-ы (CustomScrollView), когда он делит прокрутку с другими секциями. Вот почему, с бенчмарком по числу build-ов.
HasData vs UseSeeding для заполнения данных в EF Core 11: что выбрать?
Используйте HasData только для фиксированных справочных данных, принадлежащих модели. Для всего остального в EF Core 11 используйте UseSeeding и UseAsyncSeeding. Сравнение бок о бок с правилами, которые предопределяют решение.
JWT или cookie-аутентификация в ASP.NET Core 11: что выбрать?
Используйте cookie-аутентификацию для любого приложения, где единственным клиентом является браузер, а bearer-токены JWT приберегите для API, которые вызывают мобильные приложения, другие сервисы или сторонние клиенты. Вот полная матрица для принятия решения.
Назад Вперёд