Неделя ООП: Интенсив не для ленивых
С первого интенсива по ООП прошло уже полтора месяца. Надеюсь, что его участники уже несколько раз пересмотрели запись и многое попробовали в своих проектах. Пришло время подвести итоги и сформировать планы на будущее.
На первом интенсиве это оказалось не так страшно. как многим казалось. Самое сложное в процессе обучения - изменить свои внутренние приоритеты и перестроить своё мышление с процедурного программирования на объектно-ориентированное.
Начали мы с того самого видеоанонса:
И развили эту тему на уроках.
ООП - это не только новый синтаксис и раскидывание процедур и функций по классам. Это отдельный образ мышления. Нужно жить этим и понимать, что объекты - это отдельный полноценный мир. Нужно не забывать, что ООП появилось именно для уменьшения сложности кода, а не наоборот.
Без этого понимания даже с использованием классов разработчик продолжает программировать в процедурном стиле, создавая такой же непонятный другим, непонятный и нетестируемый код.
Именно переходом к новому мировоззрению мы и занимались с самого первого дня, избавляясь от старых привычек и развивая новые.
Как это было
За это время мы узнали, что из себя представляет полноценное ООП и изучили важные принципы этой парадигмы, закрепив их на примерах из реальной жизни.
Мы научились декомпозировать предметную область, разбивая логику на классы по зонам ответственности, выделяя каждый элемент в самодостаточный блок и организовывая слабосвязанное взаимодействие между блоками.
Мы научились создавать легко тестируемый код, делая его минимально зависимым от используемого фреймворка, И научились писать код и тесты к нему так, чтобы его основные части можно было переносить без переписывания из фреймворка во фреймворк.
Научились использовать модели как полноценные объекты и делать сервисный слой, практически полностью победив извечную проблему раздувания кода моделей и контроллеров. Этим мы избавились от размещения логики в контроллерах и сделали её легко тестируемой.
Мы узнали, как использовать контейнер внедрения зависимостей вместо ручного рутинного создания классов в любом фреймворке.
Мы научились тестировать код без использования реальных баз данных и реальных тяжеловесных ресурсов, что делает тесты простыми и быстрыми.
В техническом плане
Суммарно провели вместе шесть четырёхчасовых практических вебинаров и рассмотрели несколько десятков примеров. На первом уроке поговорили о других парадигмах и об истории, что для многих оказалось скучным.
В завершение, закрепили это всё на примере разработки реального приложения.
От участников остались десятки отзывов в группе, а также много конструктивных советов по улучшению.
Так что есть много вещей, которые можно исправить во втором потоке.
А в эмоциональном плане это изрядный заряд драйва и хороший пинок всем, у кого так и не доходили руки для изучения ООП.
Что будет нового
Сейчас я, как и обещал, пересматриваю и переделываю уроки.
Первым делом, убираю лишнюю скучную болтовню и отвлечения от темы. На первом уроке следует сделать сравнение парадигм и примеры более информативными.
Постепенно совершенствую остальные примеры. Помню, что нужно добавить больше материала про использование интерфейсов.
Для объяснения принципа инверсии зависимостей нашёл более интересный и живой фрагмент кода. Добавлю его в дополнение к примеру о работе через API с удалённым сервером.
Также было мало сказано про контейнер внедрения зависимостей и не было обзора других существующих, кроме из Yii. Так что в этот раз добавим подробный пример по работе с ними. Сравним также существующие контейнеры, имеющиеся в Yii, Symfony и Laravel.
Также нужно улучшить сценарий, немного перекомпоновав программу и сделать ещё более полезный и понятный интенсив как для новых участников, так и для предыдущих.
На последнем практическом уроке по созданию сервисного слоя рассмотрю ещё альтернативные продвинутые варианты с использованием шины команд и запросов.
Формат и прочие подробности
Первый интенсив занял шесть четырёхчасовых уроков, проводимых по понедельникам, средам и пятницам. Все участники получили вечный персональный доступ к личному кабинету, где выкладывались записи и дополнительные материалы. Так что можно спокойно смотреть всё в записи, если не было возможности поприсутствовать онлайн. Во втором потоке формат останется тем же. Вы можете также приобрести участие и спокойно смотреть записи.
По стоимости первый пробный стоил 2990 руб. Второй, ввиду лучшего качества, будет стоить 3490. Аналогично будет доступна 50% предоплата для приобретения первых трёх уроков. И также останется гарантия возврата средств: если кому-то что-то не понравится или если кто-то передумает в ходе интенсива, то я полностью верну его платёж.
UPD: В ноябре 2016 года проведём третий поток:
Перейти на страницу третьего потока
Много планов как сделать лучший интенсив по ООП, но одному фигачить скучно :) Приходите и мы сделаем это вместе.
Задавайте свои вопросы здесь в комментариях или в обратную связь.
Если не будет возможности присутствовать на всех уроках, можно ли будет по окончании интенсива получить запись вебинаров?
Да, записи выкладываются к урокам в личном кабинете участника и доступны всегда.
Дмитрий, а возможно организовать по окончании интенсива какие-либо сертификаты или что-то подобное? Может за отдельную плату, кто-то захочет сдать зачет с получением сертификата.
Интересная идея. Подумаю.
Кстати, да - я, например, на Linkedin указал и этот курс (апрельский) в секции дополнительного обучения, рядом со всякими Coursera )
Может скидки для студентов? :D
Дмитрий, правильно ли я понял, что с 27 июня будет новый, переделанный интенсив, а не продолжение прошлого?
Правильно.
Дмитрий, почему на лэндинге, посвещенном ООП уроку вы используете систему оплат JustClick, ведь можно использовать более дешевые платежные шлюзы?
Например какие?
Я ссыль кину: https://habrahabr.ru/post/88608/
Это только платёжный шлюзы. С комиссиями примерно до тех же 5%. У них нет ни рассылки, ни учёта заказов, ни аналитики, ни партнёрки.
ДМИТРИЙ,ОПЛАТИЛ ТОЛЬКО ПОКА ПОЛОВИНУ..ДУМАЮ НИЧЕГО СТРАШНОГО...
Здрасте. Хотелось бы уроков по интегрированию на сайт с yii2 мерчантов самых современных валют, биткоинов, эфиров и прочей всей этой лабуды. Начинающему програмисту нужна быстрая отдача в бабосах)
Дмитрий, планируется ли новый набор?
Не раньше осени.
А можно просто купить записи с прошлого интенсива? Если да, то сколько это будет стоять?
Ответил на email.
А напишите и мне, пожалуйста - на каких условиях можно приобрести записи.
И мне, пожалуйста, напишите! Очень хочу ознакомится с курсом, хотя бы в записи.
Дмитрий ответьте мне тоже)
И мне пожалуйста
Просьба также ответить на емаил сколько будет стоить в записи просмотреть этот интенсив
Дмитрий, а когда будет очередной интенсив? По счету третий, кажется. Доработанный, улучшенный. Я так ни на один и не попал. Сначала был занят, затем не было денег...
Когда-то осенью. Ещё не решил.
Дмитрий, будьте добры, скиньте на мыло цену приобретения второго курса "Неделя ООП". Первый я Вас тоже проходил.
Ответил.
А насколько будут отличаться между собой второй и третий выпуски ООП практикума?
И мне напишите цену для приобретения второго курса.
Когда будет следующий поток? И можно ли приобрести записи второго потока? Спасибо!
Ответил.
В этом курсе все разбирается на примере фреймворка YII2 или на голом PHP?
Большинство на голом PHP для независимости от фреймворков и для совместимости со всеми. С комментариями и примерами, как это привязать к любому из них. Только последний урок про проект с независимым ядром и обвязкой на Yii2.
Дмитрий, пожалуйста, напишите цену на видео со второго курса "Неделя ООП".
Дмитрий, напишите на почту на счет видео со второго курса, а то не успел не первый и не второй(
Ответил.
Добрый день! Тоже интересует запись курса по ООП.
Интересует, будет ли данный курс повторяться, если да, то когда?
Спасибо!
В UPD указал.
Чтобы в живую смотреть трансляции нужно быть где-то зарегистрированным (соц. сети)? Или где это будет происходить?
Зарегистрироваться в сервисе вебинаров и видеоконференций, про который сообщу участникам в рассылке.