Перейти к основному содержимому

О разделе

Здесь — сквозной практикум для разработчика на C#, который хочет собрать полноценное клиент-серверное десктоп-приложение на Windows. Вы пройдёте путь от первого окна WPF до REST API, клиента на Prism, автотестов и итогового проекта TaskDesk.

Базовый одиночный WPF без сети уже разобран в 119.md. Этот маршрут продолжает ту линию и добавляет сервер, DI, навигацию по регионам и проверку качества.


Сценарий TaskDesk

TaskDesk — учебный менеджер задач для небольшой команды:

КомпонентСтекРоль
TaskDesk.ApiASP.NET Core 8, Web APICRUD задач, фильтры, JSON по REST
TaskDesk.ClientWPF + Prism + MVVMОкно со списком, формой и статусом подключения к API
TaskDesk.CoreClass LibraryОбщие DTO и контракты между клиентом и сервером

Синхронная связь — HTTP/JSON (GET/POST/PUT/DELETE на /api/v1/tasks). Клиент хранит состояние UI в ViewModel, данные — на сервере.


Маршрут по шагам

ШагСтатьяСодержание
1WPF и XAML — введениеПлатформа, дерево элементов, привязки, связь с 119
2Основы MVVMModel, View, ViewModel, ICommand, INotifyPropertyChanged, CommunityToolkit
3Сервер на ASP.NET Core Web APIREST, контроллеры, DTO, Swagger, CORS для десктоп-клиента
4Клиент WPF на PrismРегионы, навигация, DI, HttpClient, обработка ошибок сети
5Тестирование запросов и unit-тестыPostman, WebApplicationFactory, xUnit + Moq для ViewModel и API
6Итоговый проект TaskDeskSolution из трёх проектов, чек-лист сборки, типичные сбои

Что понадобится

  • Windows 10/11 и .NET SDK 8+
  • Visual Studio 2022 (рабочая нагрузка «Разработка классических приложений .NET») или VS Code + C# Dev Kit
  • Postman или встроенный Swagger UI
  • Базовое знакомство с C# и HTTP
С чего начать, если WPF впервые

Сначала пройдите 119.md (локальные заметки без сервера), затем вернитесь сюда. Параллельно держите открытым справочник XAML и 116.md — карту стеков Windows.


Как учиться по разделу

  1. Прочитайте шаг 1 и шаг 2, соберите минимальное окно с ViewModel.
  2. Поднимите API по шагу 3 и проверьте эндпоинты в Swagger или Postman.
  3. Создайте клиент Prism по шагу 4, укажите базовый URL API в appsettings.json.
  4. Закройте цикл тестами из шага 5.
  5. Сверьте итоговую структуру с шагом 6 и чек-листом самопроверки.

Связь с теорией

ТемаМатериалы энциклопедии
WPF, DirectX, выбор стека116.md, платформа .NET UI
MVVM, потоки UI112.md
REST, JSONREST, 4511
Архитектурные паттерныdesign-patterns MVVM
Элементы WPF1192.md