Свържете се с нас
 Продължителност 35 часa

Съдържание и теми, включени в курса

От езикови умения до дизайн на решения

  • Разширени функции на C# и техните архитектурни последици.
  • Възстановяване на намеренията за дизайн от съществуващ код.

Анализ на изискванията и моделиране на домен

  • Сценарии за използване, потребителски истории и критерии за приемане.
  • Доменни модели и универсален език.

Принципи на софтуерния дизайн

  • Принципите SOLID, приложени към .NET решения.
  • Свързаност, кохезия и посока на зависимостите.

Дизайн модели за .NET приложения

  • Избор на креационни, структурни и поведенчески модели.
  • Модели и анти-моделите в съществуващ код.

Стилове на архитектура и вземане на технически решения

  • Сравнение между наслойна, хексагонална и чиста архитектура.
  • Регистри за архитектурни решения и анализ на компромиси.

Планиране на структурата на решението

  • Организация на решенията и проектите за големи кодови бази.
  • Модулен монолит срещу граници, ориентирани към услуги.

Съременно C# за поддържания код

  • Съвпадения по шаблони, записи и nullable референтни типове.
  • Обобщения, LINQ и функционално състава.

Обработване на изключения, водене на журнални записи и наблюдениемост

  • Стратегия за изключения и договорки за грешки.
  • Структурирани журнални записи, корелация и проверки на здравето.

Рефлексия, атрибути и метапрограмиране

  • Дизайн, базирани на атрибути, и случаи за използване на рефлексия.
  • Генератори на източник и генериране на код по време на компилация.

Основни принципи на ASP.NET Core

  • Модел за хостинг, инжектиране на зависимости и конфигурация.
  • Конвейър за заявки, middleware и филтри.

Дизайн на REST API-и

  • Моделиране на ресурси и HTTP семантика.
  • Версионизиране, валидация и отговори за грешки.
  • API договори с OpenAPI.

Осигуряване на .NET приложения

  • Аутентикация и авторизация с OpenID Connect.
  • Авторизация, базирана на политики, и управление на тайни.

Моделиране на заплахи и сигурен дизайн

  • STRIDE моделиране и граници на доверието.
  • Преглед на сигурния дизайн преди имплементация.

Достъп до данни с Entity Framework Core

  • Моделиране на ентитети и връзки.
  • Времетраене на DbContext и стратегия за миграция.

Производителност на заявките и архитектура на данните

  • Стратегии за зареждане и капани при предварително зареждане.
  • Транзакции, токени за конкурентност и заобикаляне на EF.

Конкурентност и асинхронно програмиране

  • Задачи, TPL и капани при async/await.
  • Синхронизация, отмяна и сигурност на нишките.

Оптимизация на производителността

  • Профилиране и бенчмаркиране с BenchmarkDotNet.
  • Памет, алокации и събиране на отпадъци.
  • Стратегии за кеширане и натоварващи тестове.

Стратегия за тестване между слоевете

  • Граници между юнит, интеграционни и крайно-крайни тестове.
  • Тестируема архитектура и тестови двойници.

Разгръщане и оперативна готовност

  • Контейнери, конфигурация и CI/CD конвейри.
  • Диагностика в продуктивна среда и безопасност на releases.

Кулминация: Преглед на дизайна и имплементация

  • Архитектурен преглед на примерен апликационен кейс.
  • Имплементация и рефакторинг на функционален срез.

Изисквания

  • Опит в програмирането на C#
  • Знание за работа с обектно-ориентирано програмиране
  • Основни познания по SQL и релационни бази данни

Целева аудитория

  • .NET разработчици
  • Софтуерни инженери и технически лидери
  • Разработчици, преминаващи към роли в дизайна на приложения

Брой участници


Цена за участник

Отзиви от участници (3)

Предстоящи Курсове

Свързани Kатегории