ООП в JS
Объектно-ориентированное программирование в JavaScript.
Курс
JS: Абстракция с помощью данных
PROПрограммирование не ограничивается одними лишь вычислениями. Любая нетривиальная программа моделирует внутри себя предметную область для которой она писалась. Например, Хекслет внутри себя оперирует понятиями Курс, Проект, Ученик и другими. Они связаны между собой определенным образом и могут взаимодействовать. На профессиональном языке это называется Абстракция. В этом курсе мы познакомимся подробнее с тем, что из себя представляет абстракция, и как её строить.
Курс
JS: Введение в ООП
PROJS - мультипарадигменный язык программирования с поддержкой объектно-ориентированного программирования. В этом курсе начинается знакомство с основными понятиями и синтаксическими конструкциями, присущими ООП. Рассматриваются инкапсуляция и сокрытие данных. Разбираются особенности поведения this, изучаются прототипы и исключения.
Курс
JS: Объектно-ориентированный дизайн
PROПроектирование кода в объектно-ориентированном стиле - целая история со множеством нюансов. В этом курсе мы рассмотрим базовые принципы дизайна ОО-кода и познакомимся с популярными библиотеками, реализованными в этом стиле.
Курс
JS: Полиморфизм
PROПолиморфизм (подтипов) – главная отличительная черта современного ООП. Он позволяет значительно уменьшить количество условных конструкций и сделать код расширяемым. Вместе с тем, полиморфизм – большая и глубокая тема, требующая серьезной подготовки. Здесь начинаются шаблоны проектирования и принципы SOLID. Все это является неотъемлемой частью разработки на JavaScript у профессиональных разработчиков.
Курс
JS: Погружаясь в классы
PROНаследование – одна из самых сложных концепций в объектно-ориентированном программировании. Это не только новые синтаксические конструкции, но и другой способ структурировать код. Говоря о наследовании нужно понимать его применимость и ограничения. Уметь использовать его к месту и находить другие пути там, где оно делает код сложнее. Все это рассматривается в курсе. Дополнительно разбираются абстрактные классы, принцип подстановки Лисков, паттерн "шаблонный метод" и многое другое.
Испытания
Обработка ссылок
Адаптер HTTP-клиентов
Дешевые авиабилеты
Будильник
Поиск в двоичном дереве
Построение двоичного дерева
Агрегация в двоичном дереве
Сбалансированное двоичное дерево
Круг
Генератор случайных чисел
Генератор квадратов
Пьяница
Ленивые коллекции
Диапазон дат
Особый объект
Впечатления
Человек, который пишет код, который убивает полиморфизм — я =]
Новый курс офигителен. Я реально его люблю. Мозг по-прежнему кипит, вижу элегантные решения учителя, до которых еще сам не всегда дохожу и ругаю себя, что не смог написать так же. Но хотя бы понимаю уже почему они элегантны. Когда только начинаешь изучать, то есть какие-то пресловутые пунктики, наподобие "короткий код" или какая-то подсмотренная и заученная техника. И видя решение учителя, даешься диву почему все хвалят этот код, когда можно было вот так — быстрее и короче... А сейчас вот прям понимаю "почему"! =)
Вспоминаю, как я мучился с прошлыми курсами... кажется полиморфизм разбирался в курсе по Прототипам. И вроде бы в старых заданиях было более подробное описание (собственно благодаря которому что-то в итоге наколдовывалось), сейчас по-настоящему понимаю что делаю. А без подробного описания вся нужная инфа легко читается из тестов. По факту тесты — это как ТЗ (техническое задание). Надеюсь, дальше будут курсы и больше практики именно по составлению тестов. Ибо правильно написанное ТЗ — это ж 80% работы в любой из профессий, будь то граф дизайн, копирайтинг или программирование =)
Команде и Кириллу еще раз огромное спасибо, что стараетесь объяснять сложное просто. Раньше казалось, что курс "Введение в программирование" простой. А теперь кажется, что новые курсы намного проще все объясняют. Хотя хз, может просто на самом деле опыт пришел =}
Спасибо за курс! Получилось лучше понять абстракции, зачем они нужны и как работают на архитектуру приложений, когда текут и что это значит. Информация в теории и упражнениях даётся очень доступно и понятно.
Отличный курс. Практика прототипов и конструкторов на основе функций без сахара — это очень здорово и полезно, помогает понять суть вещей.
https://ru.hexlet.io/code_reviews/351113 Почитав обсуждения думал застряну на этом задании на день, потом решил не умничать и пойти напролом, и управился за час) Это был замечательный курс!!! первые упражнения давались с большим трудом, не понимал откуда что берется и что от меня вообще требуются, на предыдущие два задания я потратил 8 и 5 часов соответственно...потихонечку стал разбираться откуда что импортируется, шестеренки закрутились, пришло понимание что нужно делать и самое главное как...Спасибо) P.S. буду упрощать свое решение, под стать учительского)
Какая же радость накрывает порой, когда решишь очередную задачку на Hexlet.