S
Архитектура программного обеспечения
Теоретическая часть (8ч)
Понятие архитектуры. Принципы проектирования программных систем. Связность и связанность. Принципы SOLID. Основные архитектурные паттерны: Многослойная система, фильтры и трубы, мобильный код, Blackboard, одноранговые системы.
Слои корпоративного приложения. Задачи каждого слоя. Местонахождение бизнес-логики в архитектуре ПО.
Технология внедрения зависимостей (IoC). Понятие Framework
Практическая часть (2ч)
Разработка архитектуры. Диаграмма классов UML. Диаграмма развертывания UML. IoC framework Ninject, либо Autofac.
Бизнес-логика
Проектирование бизнес-логики (2ч)
Проектирование бизнес-логики для сквозного примера. Определение интерфейсов для взаимодействия со слоем представления. Понятие домена. Тонкая и толстая доменная модель.
Объектно-ориентированный дизайн (6ч)
Понятие объектно-ориентированного дизайна приложения. Хороший объектно-ориентированный дизайн. Понятие паттерна. Когда нужно применять паттерны. Классификация паттернов. Структурные паттерны: композиция, декоратор, приспособленец. Порождающие паттерны: фабричный метод, фабрика классов, одиночка. Поведенческие паттерны: итератор, мементо, стратегия и состояние.
Асинхронное программирование (4ч)
Понятие асинхронного программирования. Плюсы и минусы асинхронного программирования. Библиотека TPL в Microsoft NET
Практическая часть (4ч)
Реализация доменной модели задачи и бизнес-логики сквозного примера. Реализация асинхронной части сквозного примера
Слой доступа к данным
Проектирование слоя доступа к данным (2ч)
Проектирование интерфейса слоя доступа к базам данных для сквозного примера. Взаимодействие с базой данных и с внешними сервисами.
Реляционные базы данных (6ч)
Понятие реляционной базы данных. Основы языка SQL на примере MS SQL.
Связь между слоем бизнес-логики и слоем доступа к данным с помощью Object Relationship Mapping. Основы Microsoft Entity Framework
Документоориентированные базы данных (2ч)
Отличие документоориентированных баз данных от реляционных. Документоориентированная база данных Mongo DB. Работа с MongoDB в Microsoft NET
Практическая часть (4ч)
Реализация слоя доступа к данным сквозного примера для реляционной базе данных и для документооринтированной базы данных
Слой представления
Реализация слоя представления для настольных приложений (3ч)
Организация кода для слоя представления настольных приложений. Анти-паттерн «Волшебная кнопка».
Практическая часть — I (2ч)
Реализация интерфейса пользователя сквозного примера для настольного приложения
Реализация слоя представления для приложений на базе Web (клиент) (16ч)
Основы протокола HTTP. Архитектура слоя представления на стороне клиента. Паттерны MVC, MVP, MVVM.
Основы технологии ASP.NET MVC 5
Основы JavaScript. Библиотека Jquery. Технология AJAX для взаимодействия с сервером. Технология Web-сокет для асинхронного взаимодействия с сервером
Реализация слоя представления для приложений на базе Web (сервер) (4ч)
Понятие REST. Реализация веб-службы на базе REST API. Обзор фреймворков Microsoft NET для разработки веб-служб