Скоро Продвинутое ООП в Python [Pytex] [Сурен Хоренян]

Moderator
Команда форума
29 Мар 2020
305,517
1,644,271
113
#1
Продвинутое ООП в Python [Pytex] [Сурен Хоренян]



Кому подойдет курс:
разработчик
аналитик
devops
тестировщик
системный администратор
Обучение подойдет специалистам, кто использует Python для работы.
Чтобы получить максимум от курса, тебе нужно знать основы Python: уметь писать функции и объявлять переменные.

Знакомая ситуация?
Умею писать классы, но не понимаю, как это применяется в реальной разработке
Теряюсь на вопросах об абстрактных классах, SOLID и генераторах
Есть база по ООП, но не чувствую, что использую максимум возможностей языка
Когда читаю код других разработчиков, с трудом разбираюсь, как всё устроено
Я не уверен, правильно ли я пишу код в ООП-стиле. Хочу разобраться!
Толком не понимаю, как используется SOLID на практике
95% вопросов по ООП ты закроешь на этом курсе:
Научишься проектировать чистый, поддерживаемый код с опорой на SOLID и архитектурные приёмы
Освоишь ключевые принципы ООП на Python: наследование, композиция, инкапсуляция, полиморфизм, интерфейсы, абстрактные классы, Protocol и многое другое
Подготовишься к техническим собеседованиям — на них регулярно спрашивают про ООП: контекстные менеджеры, SOLID и наследование
Сможешь объяснять архитектурные решения на ревью и интервью — с позиции зрелого специалиста
Сможешь применять лучшие практики в написании ООП-style кода
Программа:

Модуль 1. Зачем нужен ООП
Введение в ООП: что такое и зачем нужно
Ключевые понятия: класс, объект, атрибут, метод
Экземпляр класса
Модуль 2. Атрибуты и методы
Атрибуты экземпляра класса и инициализатор
Методы экземпляра класса
Модуль 3. Наследование
Наследование классов
Расширение классов-наследников
Как применяют наследование в веб-разработке
Модуль 4. Полиморфизм
Полиморфизм в Python
Полиморфизм в Python классах
Чем нам удобен полиморфизм в веб-разработке
Модуль 5. Классовые и статические методы
Метод класса
Метод класса как новый инициализатор
Статический метод
Модуль 6. Магические методы: Основы
Знакомство с магическими методами
Магические методы для сокращения количества кода
Магические методы сравнения
Магические методы управления доступом
Модуль 7. Инкапсуляция, геттеры/сеттеры, property
Инкапсуляция
Защищенное свойство
Частное свойство
Декоратор @property
Удобство кэширования с помощью property
Модуль 8. Абстрактные классы и интерфейсы
Абстрактный класс
Библиотека abc
Интерфейсы как способ задать структуру
Protocol
Наследование протокола
Модуль 9. Расширение классов и super()
Обращение к родительской реализации
Обращение к любому родительскому методу
Множественное наследование
Обращение к родительским методам при множественном наследовании
Модуль 10. Проект по основам ООП
Научитесь читать и записывать данные на диск и разнесёте проект по модулям
Опишете модель заметок и категорий и свяжете объекты между собой
Примените наследование, включая множественное, и корректно вызовете родительские методы
Закрепите работу с абстрактными классами и протоколами
Результат модуля: Реализуете приложение для создания, изменения и поиска заметок и закрепите полученные знания
Модуль 11. Магические методы: Продвинутые темы
Конструктор в Python - магический метод __new__ - где применяется
Порядок вызова __new__ и __init__
Создание экземпляра нужного типа
Singleton: экземпляр-одиночка
Callback Protocol
Гибкая совместимость с протоколом
Модуль 12. Dataclass
Введение в dataclasses
Изменение поведения dataclass
Значения по умолчанию в dataclass
Модуль 13. Итераторы и контекстные менеджеры
Итераторы
Создание своего итератора
Создание итератора в одном классе
Контекстный менеджер
Генератор как контекстный менеджер
Модуль 14. Принципы SOLID
Принципы SOLID с примерами использования
Модуль 15. Проект: SOLID и продвинутое ООП
Спроектируете объектную модель книг с применением наследования и аннотаций типов
Реализуете сервисный слой с ленивой загрузкой, сериализацией и разделением ответственности
Построите абстрактный базовый сервис как интерфейс для CRUD-операций
Реализуете абстракцию хранилища данных и её JSON-вариант, соблюдая Single Responsibility Principle
Структурируете проект по слоям: модель → хранилище → сервис → менеджер
Реализуете систему команд через паттерн Action, включая базовый Action и ActionResult
Примените принципы SOLID в архитектуре менеджера и всей системы
Результат модуля: Соберёте CLI-систему управления книгами с полноценной слоистой архитектурой, абстрактными базовыми классами, паттернами, сервисным слоем, хранилищами и корректным применением SOLID


Скачать:
Для просмотра содержимого вам необходимо авторизоваться