ООП на Python
Навык понимания архитектуры и чистого кода, позволяющий проходить собеседования, решать задачи и увеличивать зарплату
Входит в подписку (более 50 курсов)
Евгений Филиппов
выпускник Хекслета

Программа обучения
Предметная область
Онтология, Проектирование точек на координатной плоскости, Семантика массивов
Абстракция
Создание и использование абстракций Уровневое проектирование, разделение системы на слои абстракций Инварианты, обеспечение целостности данных, Выделение сущностей и их взаимосвязей в предметной области, Инварианты
Инкапсуляция
Объединение данных и функций в рамках одной структуры, Создание методов для управления состоянием объекта, Сокрытие даных (data hiding)
Интерфейсы
Абстрактный тип данных, Сигнатуры, Реализация интерфейсов, Интерфейс Countable
Структуры
Классы и объекты, Автозагрузка классов, Синтасис классов, Указатели, Свойства, Методы
Исключения
Способы обработки ошибок, генерация и перехват исключений
Шаблоны проектирования
Изучение подходов для решения распространенных задач, Примеры паттернов, Антипаттерны
Конфигурация
Проектирование классов с учетом конфигурации, Использование параметров для настройки поведения, Изменяемая конфигурация
Объекты-Сущности и Объекты-Значения
Объекты с уникальной идентичностью, Объекты, описывающие данные без уникальности, Использование объектов внутри других объеков
Fluent Interface
Создание цепочек методов для улучшения читаемости, примеры использования, преимущества и ограничения
Сборщики
Поэтапная сборка сложных объектов шаг за шагом, Композиция объектов, Текучий интерфейс в сборщиках, Библиотеки Carbon, Collection, Symfony String
Правильная организация кода
Выделение интерфейсов, Абстракции, Работа с побочными эффектами, Принцип SRP
Полиморфизм
Параметрический полиморфизм, обобщенное программирование, Диспетчеризация по ключу (данные, функции, имя файла), Утиная типизация, Null Object Pattern
Наследование
Наследование, принцип подстановки Лисков, Переопределение методов, Шаблонный метод, Ограничения наследования
Шаблоны проектирования
Паттерн Стратегия, Паттерн Фабрика, Паттерн Состояние (State)
Абстракции в наследовании
Абстрактные классы, Позднее статическое связывание
Объектная композиция
Создание сложных объектов путем комбинирования простых, Взаимодействие объектов
Расширения наследования
Метаклассы, Композиция вместо наследования, Миксины
Проекты

Валидатор данных
Создание собственной библиотеки для проверки корректности (валидации) данных – отличный способ прокачать навыки проектирования кода, в особенности, объектно-ориентированной архитектуры. Создание правильных иерархий классов, глубокая работа с $this, расширяемая архитектура, применение принципов SOLID, использование fluent-интерфейса – все это предстоит делать в проекте
Как проходит обучение
Вы изучаете теорию в удобном текстовом формате — легко читать даже с телефона. Живые примеры помогают сразу понять, как всё работает на практике. Материал выстроен так, чтобы вы шаг за шагом двигались от простого к сложному, не упуская важных деталей
После каждой темы вы проходите квизы, которые помогают убедиться, что вы всё поняли. Вопросы разного уровня сложности дадут возможность как проверить базу, так и попрактиковаться в применении знаний
Мы создали удобную виртуальную среду, где вы решаете задачи прямо в браузере. У вас есть редактор кода, консоль и автоматические тесты, которые моментально показывают результат
Наш Учебный помощник на базе ИИ — это как наставник, который всегда под рукой. Он понимает, где вы находитесь в курсе, что нужно сделать, и как выглядит ваш код. Если что-то пошло не так, вы сразу получите понятные и полезные подсказки
Подписка 3 900 ₽/мес
Подписка позволяет проходить все курсы каталога из раздела "подписка". Отмена в любой момент. Можно оплачивать через компанию
Подписаться →- Более > 50 курсов
- Пожизненный доступ к теории
- Можно учиться параллельно
- Обучение с ИИ-ассистентом