Архитектура и паттерны
Если вы занимаетесь разработкой, инфраструктурой или видите себя в стезе архитектора проектов, вам в той или иной степени понадобится погрузиться в проектирование. В этой статье мы поможем сориентироваться в направлениях, наших курсах и их взаимосвязи.
Базовое понимание, как строятся приложения и сервисы, и умение использовать шаблоны проектирования — обязательный минимум для всех специалистов, начиная уже с джуниор уровня. После изучения основ можно углубляться в профильные направления: создание высоконагруженных систем, разработка ПО или работа в облачных сервисах.
В основном архитектура — это зона ответственности СТО, Senior-разработчиков и тим лидов. Большинству рядовых специалистов в команде достаточно уверенных базовых навыков, и в ряде проектов — умение работать в highload-области. Что касается DevOps-ов, им из раздела архитектуры важен навык переноса приложений в облако.
Итак, базовая ступень позволяет начинающим разработчикам улучшить качество кода и дорасти до Middle-задач. Также с этих навыков начинается старт в карьере архитектора. Ключевые умения тут следующие:
- Использование шаблонов проектирования и принципов SOLID
- Понимание процессов разработки ПО
- Улучшение качества кода и снижение числа ошибок за счет включения DevOps подхода в процессы
- Ведение разработки от постановки бизнес-задачи до реализации на production сервере
- Отрисовка бизнес-процессов и схем
Для этого мы создали курс «Архитектура и шаблоны проектирования», который подходит для разработчиков на любом языке ООП. Автор курса и преподаватель, Матвей Калинин, имеет огромный всесторонний опыт в разработке. Он расскажет, как с помощью шаблонов проектирования успешно совместить процесс ведения разработки ПО, особенности всех участвующих бизнес-процессов и процесс внутренней компоновки модулей разрабатываемого продукта.
В качестве бонуса предлагаем прочитать подборку авторских статей про шаблоны GRASP от Владислава Родина, который в настоящее время является руководителем курса «Highload Architect», а также преподает на курсах, посвященных архитектуре ПО:
- Шаблоны GRASP: Information Expert (информационный эксперт)
- Шаблоны GRASP: Creator (создатель)
- Шаблоны GRASP: Low Coupling (низкая связанность) и High Cohesion (высокое зацепление)
- Шаблоны GRASP: Controller (контроллер)
- Шаблоны GRASP: Polymorphism, Pure Fabrication, Indirection, Protected Variations
По ссылке ниже вы можете прочитать текстовую транскрипцию демо-урока в рамках которого мы изучили особенности монолитного приложения, многоуровневой и бессерверной архитектур. Подробно рассмотрели систему, управляемую событиями, сервис-ориентированную систему и микросервисную архитектуру.
Следующий по сложности набор навыков лежит в highload области, но об этом мы поговорим в следующей части.