Аудитория
Этот курс предназначен для опытных разработчиков, которые уже имеют опыт программирования в C, C++, JavaScript, Objective-C, Microsoft Visual Basic или Java и понимают концепции объектно-ориентированного программирования.
По окончании курса слушатели смогут:
- Описать синтаксис и основные особенности C#;
- Создавать и вызывать методы, перехватывать и обрабатывать исключения, описывать требования к мониторингу масштабируемых приложений;
- Создавать классы, определять и реализовать интерфейсы, а также создавать и использовать коллекции;
- Использовать наследование для создания иерархии классов, расширять классы .NET
Framework, а также создавать универсальные классы и методы;
- Читать и записывать данные с помощью методов файлового ввода/вывода, потоков, сериализовать и десериализовать данные в различных форматах;
- Создавать и использовать модель данных (Entity Data Model) для доступа к базам данных и с помощью LINQ-запросов, обновлять данные;
- Создавать графический интерфейс пользователя средствами XAML;
- Повышать удобство и снижать время отклика приложений с помощью задач и асинхронных операций;
- Интегрировать неуправляемые библиотеки (unmanaged libraries) и динамические компоненты в приложения C#;
- Использовать метаданные с помощью отражения (reflection), создавать и использовать пользовательские атрибуты, генерировать код во время ыполнения, а также управлять версиями сборок;
- Шифровать и расшифровывать данные с помощью симметричного и асимметричного шифрования.
Программа:
Модуль 1. Обзор синтаксиса C#
- Обзор способов разработки приложений с использованием C#
- Типы данных, операторы и выражения
- Программирование языковых конструкций на C#
Лабораторная работа: Разработка приложения Class Enrolment
- Реализация функциональности редактирования списка студентов
- Реализация функциональности добавления в список студентов
- Реализация функциональности удаления из списка студентов
- Отображение возраста студента
Модуль 2. Создание методов, обработка исключений и мониторинг приложений
- Создание и вызов методов
- Создание перегруженных методов и использование опциональных (optional) и параметров, возвращающих значение (Output)
- Обработка исключений
- Мониторинг приложений
Лабораторная работа: Расширение функциональности приложения Class Enrolment
- Рефакторинг существующего кода
- Проверка корректности (validation) информации о студенте
- Сохранение изменений списка классов
Модуль 3. Разработка кода для графического приложения
- Реализация структур и перечислений
- Организация данных в коллекции
- Обработка событий
Лабораторная работа: Написание кода для приложения Grades Prototype
- Добавление логики навигации
- Создание типов данных для хранения информации о пользователях и классах
- Отображение информации о пользователях и классах
Модуль 4. Создание классов и реализация коллекций
- Создание классов
- Определение и реализация интерфейсов
- Реализация коллекции
Лабораторная работа Добавление проверки данных и коллекции в приложение Grades
- Реализация Teacher, Student и Grade Types как классов
- Добавление проверки данных в класс Grades
- Вывод отсортированного списка студентов
Модуль 5. Создание иерархии классов при помощи наследования
- Создание иерархии классов
- Расширение классов .NET Framework
- Создание универсальных (generic) типов
Лабораторная работа: Рефакторинг основных функций класса User
- Создание и наследование от базового класса пользователя (User)
- Реализация сложного пароля с помощью абстрактного метода
- Создание собственного исключения ClassFullException
Модуль 6. Чтение и запись локальных данных
- Чтение и запись файлов
- Сериализации и десериализации данных
- Реализация ввода/вывода с помощью потоков
Лабораторная работа: Создание отчета Grades
- Сериализация данных для XML отчета Grades
- Предварительный просмотр отчета Grades
- Сохранение сериализованных данных Grades в файл
Модуль 7. Доступ к базе данных
- Создание и использование моделей данных (Entity Data Models)
- Запрос данных с помощью LINQ
- Обновление данных с помощью LINQ
Лабораторная работа: Получение и изменение данных Grades
- Создание модели данных (Entity Model) для базы данных
- Обновление данных Student и Grade Data при помощи Entity Framework
- Надстройка модели для проверки корректности данных
Модуль 8. Доступ к удаленным данным
- Доступ к данным через сеть
- Доступ к данным в облаке
Лабораторная работа: Получение и изменение данных Grades в облаке
- Создание службы WCF Data Services для баз данных SchoolGrades
- Интеграция службы WCF Data Services в приложение
- Получение студенческой фотографии через интернет
Модуль 9. Проектирование пользовательского интерфейса для графических приложений
- Использование XAML для проектирования пользовательского интерфейса
- Привязка элементов управления к данным
- Стилизация пользовательского интерфейса
Лабораторная работа: Настройка студенческой фотографии и стилизация приложений
- Настройка внешнего вида студенческих фотографий
- Стилизация формы входа в приложение и элемента управления StudentPhoto
Модуль 10. Повышение производительности приложений
- Реализация многопоточности с помощью классов Tasks и лямбда выражений
- Асинхронное выполнение операций
- Синхронизация одновременного доступа к данным
Лабораторная работа: Повышение отзывчивости и производительности приложений
- Обеспечение отзывчивости пользовательского интерфейса во время доступа к объекту Teachers
- Предоставление визуальной обратной связи во время длительных операций
Модуль 11. Интеграция с неуправляемым (unmanaged) кодом
- Создание и использование динамических объектов
- Управление временем жизни объектов и unmanaged ресурсами
Лабораторная работа: Обновление отчета
- Создание отчета Grades с помощью Microsoft Office Word
- Управление временем жизни объектов при помощи метода Dispose
Модуль 12. Создание повторно используемых типов и сборок
- Проверка метаданных объекта
- Создание и использование пользовательских атрибутов
- Генерация управляемого кода
- Управление версиями, подпись и развертывание сборок
Лабораторная работа: Определение данных для включения в отчет Grades
- Создание собственного атрибута IncludeInReport
- Генерация отчетов
- Централизованное хранение сборки Grades.Utilities
Модуль 13. Шифрование данных
- Реализация симметричного шифрования
- Реализация асимметричного шифрования
Лабораторная работа: Шифрование отчета Grades
- Шифрование отчета Grades
- Расшифровка отчета Grades