Архитектура и основные шаблоны проектирования. Научитесь применять паттерны проектирования и станьте архитектором программного обеспечения
Скидки на курсы июня!
Только два дня! Пишите в чат, чтобы получить максимальную скидку ➞
Написать в чат

Курсы

Программирование
Web-разработчик на Python Разработчик на Spring Framework iOS Разработчик. Продвинутый курс v 2.0. PostgreSQL C# ASP.NET Core разработчик Разработчик C# Архитектор программного обеспечения Разработчик C++ MS SQL Server разработчик Android-разработчик. Базовый курс Архитектор высоких нагрузок Backend-разработчик на PHP Алгоритмы для разработчиков Team Lead 2.0 Python-разработчик. Базовый курс VOIP инженер Базы данных Разработчик Golang Разработчик программных роботов (RPA) на базе UiPath и PIX Разработчик голосовых ассистентов и чат-ботов Agile Project Manager в IT
Специализации Курсы в разработке Подготовительные курсы
+7 499 938-92-02

Архитектура и шаблоны проектирования

Курс для разработчиков, которые хотят изучить основные паттерны проектирования и научиться применять их, находить им замену в сложных ситуация и научиться мыслить, как архитектор программного обеспечения
Подойдет ли мне этот курс?

Длительность

3 месяца

Начало

27 июня

Занятия

Сб 11:00, Ср 20:00

Общая стоимость

50 000 ₽

В месяц

20 000 ₽

Хочу дешевле
Общая стоимость
50 000 ₽
В месяц: 20 000 ₽
Продолжительность
3 месяца, 4 академ. часа в неделю
Сб 11:00, Ср 20:00
Начало занятий
27 июня
Что даст вам этот курс

С одной стороны, разработка ПО это процесс ведения разработки, тестирование, быстрая разработка и устранение дефектов.

С другой, это знание всех участвующих бизнес-процессов, умение описать архитектуру на разных уровнях представления, что необходимо для контроля архитектуры ПО на уровне большого предприятия.

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

Это можно достичь, используя шаблоны проектирования, которые изучим на этом курсе.

Курс не привязан к конкретному языку программирования

Если вы сами разрабатываете программные продукты, занимаетесь интеграцией или развитием существующих продуктов или или только встали на стезю разработки ПО, этот курс для вас.

После курса вы будете:
1.применять шаблоны проектирования в разработках
2.Будете понимать и применять SOLID принципы
3.Поймете что такое рефакторинг и как писать чистый код
4.знать современные процессы разработки программного обеспечения
5.внедрять DevOps в свои процессы разработки, улучшая код и минимизируя ошибки
6.уметь вести разработку от постановки бизнес-задачи до реализации на production сервере
7.уметь отрисовывать бизнес-процессы и схемы.
Всё о курсе «Архитектура и шаблоны проектирования», 10 июня в 20:00
День Открытых Дверей — отличная возможность задать все вопросы по Backend-разработке на Kotlin, узнать подробнее о программе курса, особенностях онлайн-формата, навыках, компетенциях и перспективах, которые ждут выпускников после обучения.

Преподаватель-практик расскажет о себе, своём опыте, поделится карьерными инсайдами и лайфхаками по выгодной оплате курса. Регистрируйтесь сейчас - напомним в день вебинара!

Первые 20 участников, зарегистрировавшихся на этот вебинар, получат Сертификат на скидку на электронную почту в течение 1-2 дней после трансляции.

Еще 10 сертификатов на скидку распределим в прямом эфире между теми, кто записался на вебинар. Запись на участие в акции закрывается в день проведения вебинара в 16:00 (полные правила акции читайте на сайте https://otus.ru/legal/promo/)

Применить Сертификат можно только после успешного прохождения вступительного тестирования.

Готовьте вопросы, сдавайте вступительный тест и присоединяйтесь!
Ведет
Матвей
Калинин
Предыдущий день открытых дверей
Шаблоны «Фабричный метод» и «Абстрактная фабрика», 15 июня в 20:00
На открытом уроке разберем следующие темы: связанность и связность; закон Деметры; шаблон «Фабричный метод»; шаблон «Абстрактная фабрика».
Матвей
Калинин
Предыдущий открытый вебинар
Преподаватели
Матвей Калинин
Главный разработчик в одном из крупнейших банков страны
Владислав Родин
Евгений Тюменцев
Артем Первушов
Senior Software Developer (Luxoft)
Опыт разработки программного обеспечения с 1990 года. Работал и с привычными ныне dos, windows и linux системами, и с редко встречающимися специализированными вычислительными устройствами (системами реального времени, ibm i). Профессионально использую C++, С#, assembler, java, RPG.

Закончил МАИ, к.т.н., старший преподаватель, кафедра «Робототехнические и интеллектуальные системы».
Участвовал в проектах разработки программного обеспечения, связанного с навигацией. Решал задачи для процессоров цифровой обработки сигналов в операционных системах реального времени включая параллельную обработку данных.
Разработал и вёл курс вероятностных конечных автоматов.

В 2000-2002г самостоятельно разработал, используя C++ и Dephi, биллинговый комплекс АСР «ИнтБиллинг» (оборудование VocalTec). Сертификат № ОС/1-СТ-219 Министерства Российской Федерации по связи и информатизации. Биллинг выставлялся на СвязьЭкспоком, имел инсталляции заказчиков.

Долгое время работал с Java2EE (back-end и front-end). Сначала в первом агрегаторе контента для сотовых устройств "Никита-мобайл". Затем в компании "Микротест" занимался разработкой и реализацией систем информирования пользователя, основанных на web интерфейсе и являющихся частью больших распределённых систем, таких как биллинговые системы (Oracle BRM), CRM (Oracle Siebel), интеграционные шины (Tibco), SMS шлюзы.
С 2016 года - Главный разработчик на ibm i в одном из крупнейших банков страны

Люблю и умею преподавать. Более 20 лет помимо программирования изучаю и обучаю айкидо (5й дан Айкикай).

Подобно технике боевых искусств мы изучаем базис: языки, паттерны, платформы. Чтобы затем перевести это всё в зодчество ПО, его архитектуру. С другой стороны, программный продукт всегда есть отражение создателя. Любая система, согласно закону Конвея, есть отражение людей, создавших её. Программирование суть искусство в мире электронных форм. Взрослый ничем не отличается от маленького ребенка, играющего с кубиками. Только кубики другие. Творчество это основа всего. И свобода ошибаться и искать. Обучение это игра и освоение новых миров.

Руководитель программы
Выпускник МФТИ, начал программировать на С++, работал инженером-исследователем на проекте вычислительного программного комплекса МФТИ.

С 2017 года занимается Java Enterprise разработкой.

Работал Java-разработчиком в таких компаниях как НСПК и Яндекс. Занимался проблемами высокой нагрузки, работая как на Spring'овом стеке (Spring Boot, Spring Core, Spring Data, Spring Batch и т.д.) так и на Java EE'шном стеках. Улучшал инфраструктуру проектов, внедряя CI/CD и отлаживая процесс миграции БД. Строил С4- архитектурные схемы для проектов, в которых принимал участие.

В настоящее время занимает должность руководителя группы разработки, преподает в Московском Физико-Техническом Институте и на портале foxminded.

Является автором статей по backend-разработке на habr.com; спикер Рит++ 2020; обладатель сертификата Oracle Certified Assotiate Java SE 8 Programmer.

Преподаватель
Директор компании по разработке программного обеспечения. 20 лет преподаю компьютерные дисциплины в ВУЗе: C++, Kotlin, C#, ООП. Технологии программирования.
В прошлом занимался профессионально разработкой многопоточных кросс-платформенных приложений на С++. Код, написанный 14 лет назад, до сих пор работает в составе IBM Watson.
Один из результатов - успешная разработка технически сложного коммерческого проекта командой из 7 студентов.

Преподаватель
Окончил Брянский государственный технологический университет (факультет информационных технологий).

Профессионально занимается программированием с 2010 года. Возглавлял IT-отдел в «Уралсибе», работал системным архитектором в «ЛАНИТ», «Ай-Теко», Uventex Inc. Разрабатывал zakupki.gov, kupivip, личный кабинет продавца в «Почте России».

Преподавал в «Иннополис», МГТУ и «Люксофт». Сертифицированный специалист Android ATC. На текущий момент занимает должность Senior Software Developer в Luxoft.

Преподаватель
Матвей
Калинин
Владислав
Родин
Евгений
Тюменцев
Артем
Первушов
Преподаватели
Матвей Калинин
Главный разработчик в одном из крупнейших банков страны
Опыт разработки программного обеспечения с 1990 года. Работал и с привычными ныне dos, windows и linux системами, и с редко встречающимися специализированными вычислительными устройствами (системами реального времени, ibm i). Профессионально использую C++, С#, assembler, java, RPG.

Закончил МАИ, к.т.н., старший преподаватель, кафедра «Робототехнические и интеллектуальные системы».
Участвовал в проектах разработки программного обеспечения, связанного с навигацией. Решал задачи для процессоров цифровой обработки сигналов в операционных системах реального времени включая параллельную обработку данных.
Разработал и вёл курс вероятностных конечных автоматов.

В 2000-2002г самостоятельно разработал, используя C++ и Dephi, биллинговый комплекс АСР «ИнтБиллинг» (оборудование VocalTec). Сертификат № ОС/1-СТ-219 Министерства Российской Федерации по связи и информатизации. Биллинг выставлялся на СвязьЭкспоком, имел инсталляции заказчиков.

Долгое время работал с Java2EE (back-end и front-end). Сначала в первом агрегаторе контента для сотовых устройств "Никита-мобайл". Затем в компании "Микротест" занимался разработкой и реализацией систем информирования пользователя, основанных на web интерфейсе и являющихся частью больших распределённых систем, таких как биллинговые системы (Oracle BRM), CRM (Oracle Siebel), интеграционные шины (Tibco), SMS шлюзы.
С 2016 года - Главный разработчик на ibm i в одном из крупнейших банков страны

Люблю и умею преподавать. Более 20 лет помимо программирования изучаю и обучаю айкидо (5й дан Айкикай).

Подобно технике боевых искусств мы изучаем базис: языки, паттерны, платформы. Чтобы затем перевести это всё в зодчество ПО, его архитектуру. С другой стороны, программный продукт всегда есть отражение создателя. Любая система, согласно закону Конвея, есть отражение людей, создавших её. Программирование суть искусство в мире электронных форм. Взрослый ничем не отличается от маленького ребенка, играющего с кубиками. Только кубики другие. Творчество это основа всего. И свобода ошибаться и искать. Обучение это игра и освоение новых миров.

Руководитель программы
Владислав Родин
Выпускник МФТИ, начал программировать на С++, работал инженером-исследователем на проекте вычислительного программного комплекса МФТИ.

С 2017 года занимается Java Enterprise разработкой.

Работал Java-разработчиком в таких компаниях как НСПК и Яндекс. Занимался проблемами высокой нагрузки, работая как на Spring'овом стеке (Spring Boot, Spring Core, Spring Data, Spring Batch и т.д.) так и на Java EE'шном стеках. Улучшал инфраструктуру проектов, внедряя CI/CD и отлаживая процесс миграции БД. Строил С4- архитектурные схемы для проектов, в которых принимал участие.

В настоящее время занимает должность руководителя группы разработки, преподает в Московском Физико-Техническом Институте и на портале foxminded.

Является автором статей по backend-разработке на habr.com; спикер Рит++ 2020; обладатель сертификата Oracle Certified Assotiate Java SE 8 Programmer.

Преподаватель
Евгений Тюменцев
Директор компании по разработке программного обеспечения. 20 лет преподаю компьютерные дисциплины в ВУЗе: C++, Kotlin, C#, ООП. Технологии программирования.
В прошлом занимался профессионально разработкой многопоточных кросс-платформенных приложений на С++. Код, написанный 14 лет назад, до сих пор работает в составе IBM Watson.
Один из результатов - успешная разработка технически сложного коммерческого проекта командой из 7 студентов.

Преподаватель
Артем Первушов
Senior Software Developer (Luxoft)
Окончил Брянский государственный технологический университет (факультет информационных технологий).

Профессионально занимается программированием с 2010 года. Возглавлял IT-отдел в «Уралсибе», работал системным архитектором в «ЛАНИТ», «Ай-Теко», Uventex Inc. Разрабатывал zakupki.gov, kupivip, личный кабинет продавца в «Почте России».

Преподавал в «Иннополис», МГТУ и «Люксофт». Сертифицированный специалист Android ATC. На текущий момент занимает должность Senior Software Developer в Luxoft.

Преподаватель
Необходимые знания
Знание одного из языков программирования и принципов ООП: C++, C#, Java, Kotlin,PHP или Python
Процесс обучения
Образовательный процесс происходит ONLINE в формате вебинаров (язык преподавания — русский). В рамках курса слушателям предлагаются к выполнению домашние задания, которые позволяют применить на практике знания, полученные на занятиях. По каждому домашнему заданию преподаватель дает развернутый фидбек. В течение всего учебного процесса преподаватель находится в едином коммуникационном пространстве с группой, т.е. при обучении слушатель может задавать преподавателю уточняющие вопросы по учебным материалам.
Программа обучения
Модуль 1
Основные принципы
Модуль 2
Процесс разработки программного обеспечения
Модуль 3
Архитектура программного обеспечения
Модуль 4
Шаблоны проектирования
Модуль 5
Проектная работа
Основные принципы
Выравнивание знаний.
Вспоминаем ООП, многопоточные приложения и принципы интеграции.
Тема 1: ООП or not ООП
реализовывать принципы, составляющие ООП и без ООП;
проанализировать принципы вне скрытой реализации языков, использующих подход ООП.
27 июня, 11:00 — 12:30
Тема 2: SOLID (часть 1)
описывать абстракции, устойчивые к изменениям, чтобы писать код, соотвествующий OCP принципу.
4 июля, 11:00 — 12:30
Тема 3: SOLID (часть 2)
вносить исправления в абстракции, чтобы повысить их устойчивость к изменениям.
8 июля, 20:00 — 21:30
Тема 4: Однопоточное и многопоточное приложения
объяснить плюсы и минусы обоих подходов.
11 июля, 11:00 — 12:30
Домашние задания: 1
1 Программа произведения двух квадратных матриц в многопоточном приложении
Цель: В результате выполнения ДЗ вы сделаете решение задачи путем разделения её на потоки. В данном задании тренируются навыки создания многопоточных приложений.
Процесс разработки программного обеспечения
Знакомство с методологиями разработки программного обеспечения.
Тема 1: Методологии разработки ПО
объяснить различные подходы к разработке ПО, их особенностями и ограничениями.
15 июля, 20:00 — 21:30
Тема 2: DevOps
рассмотреть процесс создания и поставки ПО в рамках devops.
18 июля, 11:00 — 12:30
Архитектура программного обеспечения
Приступим к пониманию, что же такое архитектура. Стили, Шаблоны распределения ответственности. Отдельно рассмотрим злободневную тему микросервисной архитектуры, разберёмся с тем, как же системы общаются между собой. Научимся нарисовать и описывать процессы, лежащие в основе систем, так, чтобы они стали понятны другим.
Тема 1: Общие шаблоны распределения ответственностей
проанализировать функциональное разделение функционала;
рассмотреть 9 шаблонов GRASP (они понадобятся для пояснения более широких понятий, таких как микросервисная архитектура).
22 июля, 20:00 — 21:30
Тема 2: Что предшествует программированию
объяснить понятие архитектуры;
рассмотреть архитектурные стили.
25 июля, 11:00 — 12:30
Тема 3: Интеграция программного обеспечения
объяснить, как связать несвязываемое, какие подходы существуют.
29 июля, 20:00 — 21:30
Тема 4: Системы обмена сообщениями
рассмотреть архитектурные концепции построения систем обмена сообщений.
1 августа, 11:00 — 12:30
Тема 5: Микросервисная архитектура
рассмотреть описание, характерные свойства и характеристики;
оценить порядок перехода от "монолита".
5 августа, 20:00 — 21:30
Тема 6: Создание микросервиса
рассмотреть создание микросервиса на примере LIberty и microprofile.
8 августа, 11:00 — 12:30
Тема 7: Процесс-всему голова
построить бизнес-процесс на примере задачи;
разделить на функциональные процессы;
обсудить как можно решить подобную задачу, какими подходами;
разобраться в законе "Конвея".
12 августа, 20:00 — 21:30
Тема 8: "Как это выглядит?" или как нарисовать процесс
разобраться, как рисуется процесс, его составные части;
использовать оба вида нотаций.
15 августа, 11:00 — 12:30
Тема 9: Знакомство с "кирпичиками" построения систем
рассмотреть на примере ракурсы, на которые смотрит архитектор ПО;
строить схемы видов.
19 августа, 20:00 — 21:30
Тема 10: Чистый код и рефакторинг
видеть недостатки кода, смогут корректировать его, превращая в корректный удобный код.
22 августа, 11:00 — 12:30
Шаблоны проектирования
Рассматриваются шаблоны проектирования. Плюсы и минусы. Примеры реализации. Абстрактное представление.
Тема 1: Одиночка
применять шаблон "Singleton".
26 августа, 20:00 — 21:30
Домашние задания: 1
1 Модуль логирования для многопоточного приложения произведения двух квадратных матриц. Описание применения шаблона в проекте
Цель: 1. Научиться работать с шаблоном Singleton в рамках многопоточного приложения. Вы получите навыки как применения Singleton по назначению, а также разберётесь с одновременным доступом потоков к одному объекту 2. Получите навык анализа системы - использовать или нет этот шаблон в проектной работе.
Тема 2: Фабричный метод и абстрактная фабрика
узнать и научиться применять шаблон.
29 августа, 11:00 — 12:30
Домашние задания: 1
1 Реализация выбора подходящего метода сортировки (выбором, вставки, слиянием) набора данных с использованием абстрактной фабрики и описание применения шаблона в проекте
Цель: Получите навык работы с абстрактной фабрикой.
Тема 3: Адаптер и мост
узнать и научиться применять шаблоны "адаптер" и "мост"
2 сентября, 20:00 — 21:30
Домашние задания: 1
1 Адаптер для работы двух независимых программ. Описание применения шаблона в проекте
Цель: 1. Вы напишете адаптер, чтобы связать функционал двух отдельных программ в единый процесс. разберётесь с тем, как адаптер работает в случае вызова отдельных программ. Получите навыки работы с формальными и фактическими параметрами передачи данных 2. Получите навык анализа системы - использовать или нет этот шаблон в проектной работе.
Тема 4: Заместитель
делегировать:
дать команду и "Заместитель" (Proxy) выполнит задачу.
5 сентября, 11:00 — 12:30
Тема 5: Декоратор
применять шаблон.
9 сентября, 20:00 — 21:30
Тема 6: Шаблонный метод
цели можно достичь разными путями, порой важно оперировать не объектами, а процессами;

проанализировать:
от бизнес процесса к абстрактным общим шагам;
декомпозиция;
временная диаграмма;
один процесс, да шаги разные;
от кофе к супу;
необходимость контроля процесса;
методы-перехватчики.
12 сентября, 11:00 — 12:30
Домашние задания: 1
1 Реализация выбора подходящего метода матричных операций с применением шаблонного метода и описание применения шаблона в проекте
Цель: Получите навыки в программировании алгоритмов матричных операций, применении шаблонного метода.
Тема 7: Состояние
объяснить:
состояние не так однозначно, как кажется;
диаграмма состояний и переходов.
обзор конечных автоматов;
простая прямая реализация;
расширение функциональности;
от простой реализации объектов к интерфейсам.
16 сентября, 20:00 — 21:30
Тема 8: Итератор
объяснить, как инкапсулировать этот процесс;
проанализировать один общий интерфейс для перебора, множество реализаций;
объяснить как работает итератор;
рассмотреть на примере.
19 сентября, 11:00 — 12:30
Домашние задания: 1
1 Генератор чисел Фибоначчи и описание применения шаблона в проекте
Цель: Получите навыки применения шаблона "итератор" и знания формировании чисел Фибонначи
Тема 9: Команда
применять шаблон;
построить процесс выполнения задачи с использованием шаблона "Команда".
23 сентября, 20:00 — 21:30
Тема 10: Интерпретатор
узнать и научиться применять шаблон.
26 сентября, 11:00 — 12:30
Тема 11: Цепочка обязанностей
узнать и научиться применять шаблон.
30 сентября, 20:00 — 21:30
Домашние задания: 1
1 Парсер файлов в зависимости от их типа и описание применения шаблона в проекте
Цель: Получите навыки применения шаблона "цепочка ответственности"
Проектная работа
Практическая часть, которая подытоживает полученные знания в самостоятельной работе. Результатом станет создание "с нуля" собственного приложения.
Тема 1: Вводное занятие по проектной работе
определиться с финальной архитектурой проекта;
выбрать и обсудить тему проектной работы;
спланировать работу над проектом;
ознакомиться с регламентом работы над проектом.
3 октября, 11:00 — 12:30
Домашние задания: 1
1 Обсуждаем вопросы проектирования, корректируем принятые решения
Цель: выбрать темы; закрепить тему в чат с преподавателем.
Тема 2: Консультация по проектам и домашним заданиям
получить ответы на вопросы по проекту, ДЗ и по курсу.
7 октября, 20:00 — 21:30
Тема 3: Защита проектных работ
защитить проект и получить рекомендации экспертов.
10 октября, 11:00 — 12:30
Выпускной проект
Выпускной проект — возможность закрепить навыки, наработанные в процессе обучения. Это отдельная работа, на выполнение которой отводится последний месяц обучения.
Прошедшие открытые вебинары по курсу
Открытый вебинар — это настоящее занятие в режиме он-лайн с преподавателем курса, которое позволяет посмотреть, как проходит процесс обучения. В ходе занятия слушатели имеют возможность задать вопросы и получить знания по реальным практическим кейсам.
«Откуда ноги растут» или что предшествует программированию?
Матвей Калинин
День открытых дверей
18 марта в 20:00
Для доступа к прошедшим мероприятиям необходимо пройти входное тестирование
Возможность пройти вступительное тестирование повторно появится только через 2 недели
Результаты тестирования будут отправлены вам на e-mail, указанный при регистрации.
Тест рассчитан на 30 минут, после начала тестирования отложить тестирование не получится!
Пройти вступительное тестирование

  • получите материалы по всем пройденным занятиям (видеозаписи вебинаров, выполненные домашние задания, выпускной проект)

  • применять шаблоны проектирования в разработках

  • получите сертификат об окончании курса

  • внедрять DevOps в свои процессы разработки, улучшая код и минимизируя ошибки

  • получите приглашение пройти собеседование в компаниях-партнёрах (в случае успешного обучения)

Дата выдачи сертификата: 18 октября 2020 года
Ваш сертификат

онлайн-образование

Сертификат №0001

Константин Константинопольский

Успешно закончил курс «Архитектура и шаблоны проектирования»
Выполнено практических заданий: 16 из 16

Общество с ограниченной ответственностью “Отус Онлайн-Образование”

Город:
Москва

Генеральный директор ООО “Отус Онлайн-Образование”
Виталий Чибриков

Лицензия на осуществление образовательной деятельности
№ 039825 от 28 декабря 2018 года.

онлайн-образование

Сертификат №0001

Константин Константинопольский

Успешно закончил курс «Архитектура и шаблоны проектирования»
Выполнено практических заданий: 16 из 16

Общество с ограниченной ответственностью “Отус Онлайн-Образование”

Город:
Москва

Генеральный директор ООО “Отус Онлайн-Образование”
Виталий Чибриков

Лицензия на осуществление образовательной деятельности
№ 039825 от 28 декабря 2018 года.
Общая стоимость
50 000 ₽
В месяц: 20 000 ₽
Продолжительность
3 месяца
Начало занятий
27 июня
🎁 Дарим сертификаты на скидку!
Запишитесь на июньскую трансляцию интересного вам дня открытых дверей и участвуйте в Акции ➞