[Thinknetica] Объектно-ориентированный дизайн в Ruby [Артем Кривоножко]

295

Онлайн-воркшоп для Ruby-разработчиков, которые хотят улучшить архитектуру своих проектов и качество кода, а также научиться быстро находить и исправлять ошибки проектирования

За время воркшкопа вы:

  • Изучите как имплементированы и для чего нужны принципы ООП в коде на Ruby, и как сочетается объектно-ориентированные языки с функциональным программированием
  • Разберётесь с каждым из принципов SOLID и их практическим применением
  • Систематизируете свои знания о паттернах проектирования от синглтона до MV*

Программа:

День 1. Парадигмы программирования

  • Изучите или закрепите знания о принципах ООП, их имплементации в Ruby, сравните с другими языками
  • Разберётесь с чистыми функциями и другими базовыми понятиями функционального программирования
  • Рассмотрите альтернативные ООП и ФП парадигмы и их применимость в Ruby

В результате вы:

Освежите и дополните своё понимание ООП с помощью практических примеров, научитесь работать с Ruby в функциональном стиле, сравните Ruby с другими ЯП

День 2. Принципы разработки

  • Освежите или получите теоретическое понимание принципов SOLID
  • Рассмотрите примеры соблюдения и нарушения этих принципов в Ruby
  • Познакомитесь с другими известными принципами и подходами, такими как GRASP, DRY, KISS и YAGNI

В результате вы:

Разберётесь с принципами и подходами, которые наиболее распространены в Ruby и в разработке в целом; а также научитесь лучше видеть конкретные проблемы в коде, который нарушает какой-то из фундаментальных принципов

День 3
. Паттерны проектирования

Паттерны проектирования в Ruby и Rails от общего к частному:

  • MVС и MV* паттерны. Разложим Rails на составляющие и сравним с другими вариантами внутренней организации веб-фрэймворка
  • Порождающие паттерны
  • Структурные паттерны
  • Поведенческие паттерны

В результате вы:

Освежите и дополните свои знания о паттернах, начиная от очевидного и простого порождающего синглтона, заканчивая обзором архитектурных паттернов