Start Debugging

Тег: comparison

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

Комплексные типы против владеемых сущностей в 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, которые вызывают мобильные приложения, другие сервисы или сторонние клиенты. Вот полная матрица для принятия решения.
AsNoTracking vs AsNoTrackingWithIdentityResolution в EF Core 11: что выбрать?
Используйте AsNoTracking по умолчанию для запросов только на чтение. Прибегайте к AsNoTrackingWithIdentityResolution только тогда, когда граф результата содержит одну и ту же сущность несколько раз и ваш код полагается на получение единого общего экземпляра.
FutureBuilder/StreamBuilder против AsyncValue из Riverpod во Flutter: что выбрать?
Используйте FutureBuilder или StreamBuilder для самодостаточного, одноразового асинхронного виджета. Переходите на AsyncValue из Riverpod, как только результат становится общим, кешируется или мутирует. Здесь решение, подводные камни и исполняемый код для обоих. Проверено на Flutter 3.44 и flutter_riverpod 3.3.1.
Валидация minimal API против FluentValidation в ASP.NET Core 11: что выбрать?
Используйте встроенную валидацию на генераторе исходного кода для синхронных правил, выразимых атрибутами, в ASP.NET Core 11; обращайтесь к FluentValidation, когда нужны асинхронные правила, сложная логика между полями или валидация вне ваших моделей предметной области.
Назад Вперёд