课程概况
Курс возводит слушателя от написания простых конкретных классов к профессиональному конструированию приложения в объектно-ориентированной парадигме. Паттерны проектирования позволяют шагнуть за пределы простого использования синтаксических конструкций языка. Вы научитесь писать красиво и элегантно, будете использовать проверенные временем концепции и создавать масштабируемые программы. Использование паттернов проектирования является признаком профессионализма программиста.
Классические книги по паттернам проектирования описывают их реализацию на C++, C#, Java. У языка Python есть своя специфика из-за которой он отлично подходит для использования паттернов проектирования.
课程大纲
Тестирование и отладка программ
На первой неделе курса Вам предстоит узнать, чем отличается профессионал в программировании от любителя и чем отличается культурный программист от некультурного. После этого Вы познакомитесь с парадигмой структурного программирования и проектированием приложений "сверху-вниз". Завершим первую неделю знакомством с библиотеками для тестирования программ в Python и парадигмой разработки TDD.
Объектно-ориентированное проектирование
В данной неделе курса Вы познакомитесь с основами объектно-ориентированного проектирования программ. Вы вспомните основные понятия, разберетесь с принципами и парадигмами, а также научитесь писать красивый и эффективный объектно-ориентированный код. Вам будут еще раз рассказаны основные понятия объектно-ориентированного программирования, затем вы подробно познакомитесь с его принципами и парадигмами. Далее Вы узнаете, как строить корректные иерархии классов и как записывать их на простом и наглядном языке UML. В заключение Вы узнаете, как отличить хороший объектно-ориентированный код от плохого и познакомитесь с основами рефакторинга.
Паттерны проектирования (часть 1)
В данной неделе Вы познакомитесь с паттернами проектирования. Вы узнаете, что такое паттерны, где они применяются, какими бывают. Также будут разобраны 3 простейших паттерна проектирования: Adapter, Decorator и Observer. Вы самостоятельно реализуете данные паттерны для решения ряда практических задач.
Паттерны проектирования (часть 2)
В данной неделе Вы продолжите знакомство с паттернами проектирования. Мы разберём такие паттерны как Chain of Responsibility и Abstract Factory, после чего вы самостоятельно реализуете каждый из них. Закончим неделю изучением способа конфигурирования программ при помощи YAML.
Итоговый проект
На последней неделе курса Вам предстоит выполнить курсовой проект, в котором нужно реализовать сложную систему классов с использованием изученных паттернов проектирования.