Aноним
- #1
[Pytex] Продвинутое ООП в Python [Сурен Хоренян]
- Ссылка на картинку
Кому подойдет курс:
Чтобы получить максимум от курса, тебе нужно знать основы Python: уметь писать функции и объявлять переменные.
Знакомая ситуация?
Модуль 1. Зачем нужен ООП
- разработчик
- аналитик
- devops
- тестировщик
- системный администратор
Чтобы получить максимум от курса, тебе нужно знать основы Python: уметь писать функции и объявлять переменные.
Знакомая ситуация?
- Умею писать классы, но не понимаю, как это применяется в реальной разработке
- Теряюсь на вопросах об абстрактных классах, SOLID и генераторах
- Есть база по ООП, но не чувствую, что использую максимум возможностей языка
- Когда читаю код других разработчиков, с трудом разбираюсь, как всё устроено
- Я не уверен, правильно ли я пишу код в ООП-стиле. Хочу разобраться!
- Толком не понимаю, как используется SOLID на практике
- Научишься проектировать чистый, поддерживаемый код с опорой на SOLID и архитектурные приёмы
- Освоишь ключевые принципы ООП на Python: наследование, композиция, инкапсуляция, полиморфизм, интерфейсы, абстрактные классы, Protocol и многое другое
- Подготовишься к техническим собеседованиям — на них регулярно спрашивают про ООП: контекстные менеджеры, SOLID и наследование
- Сможешь объяснять архитектурные решения на ревью и интервью — с позиции зрелого специалиста
- Сможешь применять лучшие практики в написании ООП-style кода
Модуль 1. Зачем нужен ООП
- Введение в ООП: что такое и зачем нужно
- Ключевые понятия: класс, объект, атрибут, метод
- Экземпляр класса
- Атрибуты экземпляра класса и инициализатор
- Методы экземпляра класса
- Наследование классов
- Расширение классов-наследников
- Как применяют наследование в веб-разработке
- Полиморфизм в Python
- Полиморфизм в Python классах
- Чем нам удобен полиморфизм в веб-разработке
- Метод класса
- Метод класса как новый инициализатор
- Статический метод
- Знакомство с магическими методами
- Магические методы для сокращения количества кода
- Магические методы сравнения
- Магические методы управления доступом
- Инкапсуляция
- Защищенное свойство
- Частное свойство
- Декоратор @property
- Удобство кэширования с помощью property
- Абстрактный класс
- Библиотека abc
- Интерфейсы как способ задать структуру
- Protocol
- Наследование протокола
- Обращение к родительской реализации
- Обращение к любому родительскому методу
- Множественное наследование
- Обращение к родительским методам при множественном наследовании
- Научитесь читать и записывать данные на диск и разнесёте проект по модулям
- Опишете модель заметок и категорий и свяжете объекты между собой
- Примените наследование, включая множественное, и корректно вызовете родительские методы
- Закрепите работу с абстрактными классами и протоколами
- Результат модуля: Реализуете приложение для создания, изменения и поиска заметок и закрепите полученные знания
- Конструктор в Python - магический метод __new__ - где применяется
- Порядок вызова __new__ и __init__
- Создание экземпляра нужного типа
- Singleton: экземпляр-одиночка
- Callback Protocol
- Гибкая совместимость с протоколом
- Введение в dataclasses
- Изменение поведения dataclass
- Значения по умолчанию в dataclass
- Итераторы
- Создание своего итератора
- Создание итератора в одном классе
- Контекстный менеджер
- Генератор как контекстный менеджер
- Принципы SOLID с примерами использования
- Спроектируете объектную модель книг с применением наследования и аннотаций типов
- Реализуете сервисный слой с ленивой загрузкой, сериализацией и разделением ответственности
- Построите абстрактный базовый сервис как интерфейс для CRUD-операций
- Реализуете абстракцию хранилища данных и её JSON-вариант, соблюдая Single Responsibility Principle
- Структурируете проект по слоям: модель → хранилище → сервис → менеджер
- Реализуете систему команд через паттерн Action, включая базовый Action и ActionResult
- Примените принципы SOLID в архитектуре менеджера и всей системы
- Результат модуля: Соберёте CLI-систему управления книгами с полноценной слоистой архитектурой, абстрактными базовыми классами, паттернами, сервисным слоем, хранилищами и корректным применением SOLID
Показать больше
Зарегистрируйтесь
, чтобы посмотреть скрытый контент.