Курс: C# и WPF

Интерактивные лекции в формате карточек. Нажмите на карточку, чтобы открыть урок.

Лекции по WPF — Основы

Введение в WPF

Познакомимся с основами Windows Presentation Foundation, его назначением и возможностями.

Архитектура WPF: XAML, Code-behind, Application

Разберем структуру WPF-приложений и взаимодействие XAML с кодом на C#.

VisualTree и LogicalTree

Изучим разницу между визуальным и логическим деревом элементов в WPF.

Панели компоновки

Рассмотрим различные панели для размещения элементов интерфейса и их особенности.

Элементы управления

Изучим основные элементы управления WPF: кнопки, текстовые поля, списки и др.

WPF — Свойства и привязка

DependencyProperty

Поймем, как работают зависимые свойства и их преимущества в WPF.

Routed Events

Изучим маршрутизируемые события и способы их обработки.

Data Binding

Научимся связывать данные между интерфейсом и логикой приложения.

Конвертеры значений

Разберем, как преобразовывать данные при привязке с помощью конвертеров.

ObservableCollection

Изучим коллекцию с уведомлениями об изменениях для динамических списков.

WPF — Стили и шаблоны

Ресурсы и стили в WPF

Поймем, как использовать ресурсы для переиспользования элементов интерфейса.

Преобразования в WPF

Подробное руководство по Transform-классам в Windows Presentation Foundation.

Триггеры

Разберем, как менять поведение и внешний вид элементов с помощью триггеров.

Темы и ResourceDictionary

Изучим создание тем для приложения и использование словарей ресурсов.

Анимации в WPF

Изучите различные виды анимаций в WPF Storyboard, их применение и лучшие практики для создания плавных и эффектных переходов.

WPF — MVVM и архитектура

MVVM основы

Познакомимся с паттерном MVVM и его ролью в разделении логики и интерфейса.

Команды (ICommand)

Изучим реализацию команд для обработки действий пользователя.

View и ViewModel

Разберем взаимодействие представления и модели представления в MVVM.

Dependency Injection

Познакомимся с внедрением зависимостей для гибкости архитектуры.

C# — Основы

Введение в C#

Ознакомимся с языком C#, его особенностями и инструментами разработки.

Переменные и типы

Изучим базовые типы данных и работу с переменными в C#.

Операторы

Разберем арифметические, логические и условные операторы.

Циклы и Массивы

Научимся использовать циклы для повторения действий в коде.

Методы

Познакомимся с методами, перегрузкой и параметрами.

C# — ООП

Классы и объекты

Изучим, как создавать и использовать классы и объекты в C#.

Конструкторы и деструкторы

Разберем методы инициализации и очистки объектов.

Свойства

Научимся работать с геттерами и сеттерами для управления данными объектов.

Инкапсуляция

Познакомимся с принципом для защиты данных и управления доступом.

Наследование

Познакомимся с принципом наследования для повторного использования кода.

Полиморфизм

Изучим возможность объектов вести себя по-разному в зависимости от контекста.

Абстракция и интерфейсы

Разберем способы создания абстрактных классов и интерфейсов для гибкости кода.

C# — Продвинутое

Исключения

Научимся обрабатывать ошибки и использовать конструкции try-catch-finally.

Делегаты и события

Изучим делегаты, события и их применение для обработки действий пользователя.

Лямбда-выражения

Познакомимся с компактной записью функций с помощью лямбда-выражений.

LINQ

Разберем язык запросов для удобной работы с коллекциями данных.

Generics и коллекции

Изучим обобщенные типы для создания универсального кода.

Асинхронность: async/await

Изучим механизмы многозадачности и параллельного программирования.

C# — Работа с данными

Основы работы с данными в C#

Поговорим о видах хранения данных, потоках и сериализации.

Работа с файлами: File, FileInfo, Directory

Научимся читать, записывать и управлять файлами и папками.

Потоки ввода-вывода

Разберем Stream, StreamReader, StreamWriter и FileStream.

Бинарные файлы

Познакомимся с BinaryReader и BinaryWriter для работы с бинарными данными.

Формат CSV

Изучим работу с табличными данными в формате CSV.

Работа с XML

Рассмотрим XmlDocument, XDocument и LINQ to XML.

Работа с JSON

Научимся использовать System.Text.Json и Newtonsoft.Json.

Введение в базы данных

Разберем основы SQL и отличия между SQLite и SQL Server.

ADO.NET: подключение к базе

Подключимся к базе данных и выполним простые запросы.

SQL-запросы из C#

Вставка, обновление и удаление данных с защитой от SQL Injection.

Entity Framework Core: основы

Познакомимся с ORM, DbContext и миграциями.

Запросы в Entity Framework

Используем LINQ для работы с данными через EF Core.

Миграции и управление схемой

Создание и применение миграций, добавление seed-данных.

LINQ to Objects и LINQ to SQL

Разберем различия IEnumerable и IQueryable и оптимизацию запросов.

Паттерны работы с данными

Изучим Repository и Unit of Work для организации слоя данных.

Оптимизация и Рефакторинг

Основы рефакторинга и оптимизации

Познакомимся с концепциями рефакторинга и оптимизации, научимся различать их и применять базовые принципы чистого кода.

Профилирование и диагностика производительности

Научимся использовать инструменты профилирования, выявлять узкие места и анализировать производительность приложения.

Оптимизация UI и привязок в WPF

Разберем методы оптимизации интерфейса, виртуализацию, deferred rendering и эффективное использование binding.

Асинхронность и управление памятью

Изучим async/await, многопоточность, предотвращение утечек памяти и работу с IDisposable.

Оптимизация работы с данными

Научимся оптимизировать запросы LINQ и Entity Framework, использовать ленивую загрузку и кэширование для повышения производительности.

Паттерны, архитектура и чек-лист оптимизации

Разберем паттерны рефакторинга, архитектурные подходы к масштабируемости и составим практический чек-лист оптимизации кода.

API — основы (C#)

Что такое API?

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

Типы API

Изучим различия между REST, SOAP, GraphQL и другими типами API, их особенности и применение.

Работа с REST API в C#

Научимся отправлять запросы и получать данные с помощью HttpClient, обрабатывать JSON-ответы и использовать API в приложении.

Создание собственного API в ASP.NET

Пошагово создадим простое REST API на ASP.NET Framework и подключим его к клиентскому приложению.

Авторизация и безопасность API

Разберем, как защищать API при помощи ключей, токенов и JWT-аутентификации, а также как скрывать чувствительные данные.