1.12 UML-шаблоны | Курс «Паттерны и практики написания кода»

Поделиться
HTML-код
  • Опубликовано: 7 июл 2024
  • Это видео всецело посвящено UML. Узнаете для чего он нужен и когда он наилучшим образом пригодится в работе.
    00:00 - Вступление
    01:04 - Что такое UML
    02:07 - Цели UML-диаграмм
    03:25 - Диаграмма классов
    05:25 - Абстрактный класс
    05:46 - Интерфейс
    06:36 - Комментарии
    07:06 - Области видимости
    07:40 - Взаимосвязи
    08:02 - Наследование
    08:32 - Реализация
    08:58 - Ассоциация
    09:50 - Зависимость
    10:30 - Агрегация и композиция
    13:42 - Кратность
    14:25 - Советы по использованию
    15:12 - Диаграмма последовательности
    16:23 - Пример
    19:27 - Взаимосвязи
    20:05 - Советы по использованию
    20:47 - Дополнительные материалы
    21:02 - Завершение
    👉🏻 Первый сезон: • Первый сезон курса: Па...
    👉🏻 Все серии второго сезона: • Второй сезон курса: Па...
    AvitoTech - это команда инженеров Авито. Подпишитесь на наш канал, соцсети и блоги, чтобы узнавать больше о технологиях Авито 👇🏻
    ВК: avitotech
    Твиттер: / avitotech
    Телеграм: t.me/avitotech
    Хабр: habr.com/ru/company/avito/
    Медиум (eng): / avitotech
    Гитхаб: github.com/avito-tech/
    Сайт: avito.tech/

Комментарии • 29

  • @samsmiths4549
    @samsmiths4549 2 года назад +7

    Уф, это было классно! Столько всего нового и интересного! Ещё пополнился список литературы для чтения! Фаулер - ван лав) В общем жду следующий сезон данного цикла 💫🎉🫀 Отличная работа 👍

  • @TheManblax
    @TheManblax 10 месяцев назад +1

    Вся литература с первого сезона
    1. Стив Макконнелл. Совершенный код
    Code Complete: A Practical Handbook of Software Construction, Second Edition 2nd Edition
    2. Роберт Мартин. Чистый код: создание, анализ и рефакторинг /
    Clean Code: A Handbook of Agile Software Craftsmanship 1st Edition by Robert C. Martin
    3. Рефакториг. Улучшение существующего кода. Мартин Фаулер /
    Refactoring Improving the Design of Existing Code by Martin Fowler, with Kent Beck
    4. Крэг Ларман: Применение UML 2.0 и шаблонов проектирования /
    Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development by Craig Larman
    5. Маклафлин, Поллайс, Уэст: Объектно-ориентированный анализ и проектирование /
    Head First Object-Oriented Analysis and Design 1st Edition by Brett D. McLaughlin, Gary Pollice, Dave West
    6. Analysis Patterns Reusable Object Models by Martin Fowler
    7. Мартин Фаулер. UML. Основы: краткое руководство по стандартному языку объектного моделирования /
    UML Distilled: A Brief Guide to the Standard Object Modeling Language 3rd Edition by Martin Fowler

  • @user-ng2py4lg3y
    @user-ng2py4lg3y Год назад

    Спасибо огромное за курс. Узнал много всего нового, а также навел порядок в уже имеющихся знаниях.
    Надеюсь на продолжение курса.

  • @Arctikus
    @Arctikus 2 года назад

    Спасибо! Очень полезно

  • @swimmwatch
    @swimmwatch Год назад

    Спасибо! Ждём новый сезон!

  • @stas_v
    @stas_v 2 года назад

    Большое спасибо! Ждем новый сезон.

  • @vitabramov89
    @vitabramov89 Год назад

    Отдельный респект за ptoterty1 вместо foo и bar

  • @user-yd6be5wz4p
    @user-yd6be5wz4p 6 месяцев назад

    Огромное спасибо за курс ! Посмотрел с удовольствием и пользой)

  • @Vova21rus
    @Vova21rus Год назад

    Спасибо за курс! Все что нужно и без воды.

  • @user-yf6wy7qq6p
    @user-yf6wy7qq6p Год назад

    Спасибо за курс. Узнал много нового.

    • @AvitoTech
      @AvitoTech  Год назад

      Спасибо за отзыв! 😊

  • @Gilb077
    @Gilb077 9 месяцев назад

    Юра, молодец) Авито и Юра спасибо!

  • @nikvityl
    @nikvityl Год назад

    Спасибо большое! Очень полезно и познавательно, прошел первый сезон, иду смотреть второй.

  • @makaedg
    @makaedg Год назад

    Для простоты можно рассматривать агрегацию как владение по ссылке, а композицию как владение по значению

  • @Empilor
    @Empilor Год назад

    Этот курс достоин большего, чем ~200 лайков! Не хватало таких всеобъемлющих, и в то же время кратких курсов, всё по делу, все подано просто 🤌
    Я бы хотел его посмотреть в начале карьеры, столько было бы ответов, которые получал кропотливо, и иногда мучительно долго 😂
    Спасибо еще раз и команде Авито, и дизайнерам заставки, и конечно Юрию за прекрасный курс

  • @luyt2
    @luyt2 Год назад

    Очень, очень, очень круто!!!! Эмоции меня переполняют и сложно выразить словами всю благодарность вам за Труд.
    Вы просто новые вселенные открываете. Очень круто было бы закрепить эти знания на практике. Ну и смотреть придётся раза 3 и под карандаш.

  • @VorobyevAlexander
    @VorobyevAlexander Год назад

    Хорошая серия видео. Спасибо. Как фичреквест - список литературы добавлять в описании к видео и, возможно, в описании плейлиста

    • @AvitoTech
      @AvitoTech  Год назад

      Спасибо за отзыв и предложение! 😊

  • @sxn2913
    @sxn2913 2 года назад +2

    Доброго времени суток, спасибо за такой курс, будет ли продолжение публикация новых куросв?

    • @AvitoTech
      @AvitoTech  2 года назад +1

      Доброго!
      Спасибо за отзыв😊
      Пока что точные даты назвать сложно, но план на продолжение у нас есть)
      Подписывайтесь на наши социальные сети, мы разместим в них всю информацию, о грядущих курсах. Вот, например, наш Telegram: t.me/avitotech
      Или ВКонтакте: vk.com/avitotech

  • @samsmiths4549
    @samsmiths4549 2 года назад

    13:09 $atc написан вместо $atm

  • @user-db5ud9kh2b
    @user-db5ud9kh2b 8 месяцев назад

    8:20 - может треугольника, а не прямоугольника? Я думал перед монтажом такие вещи просматривают и исправляют

  • @arman-6172
    @arman-6172 2 года назад

    Очень качественная подача. Интересные темы. Большое спасибо!)
    Хотелось бы с такой подачей больше углубленного материала по SOLID, GoF, GRASP и все в таком духе, что из этого и как используют в крупных проектах.
    1. Сам только начал изучать GRASP, может поэтому во втором видео с getTotalAmount показалось что и итоговый метод слишком много делает и многих знает. Можно ли думать на getTotalAmount как на локальный контроллер, который сам ничего не делает кроме делегирования? Тогда обход по продуктам будет делать отдельный метод или класс(шаблон GoF), добавление скидки и доставка свои отдельные методы/классы. Т.е. стремиться к тому, что точка входа в класс это тоже контроллер, тогда вроде очень близко будем к LC и HC, и с таким правилом в голове вроде легче будет добавлять-распределять по методам/классам новый функционал.
    2. Может есть какие-нибудь хорошие инструменты для анализа кода по этим паттернам?

    • @AvitoTech
      @AvitoTech  2 года назад +2

      Очень рады, что вам понравилась данная тема. Говоря про Low Coupling и High Cohesion, стоит отменить что они являются маркерами сообщающими о том, когда код перестаёт быть гибким. Вопрос границ методов и классов лежит исключительно на разработчике и здесь есть две крайности:
      - если перестанете следовать этим принципам, то понизится гибкость. Это может быть незаметно в том коде, который никогда не изменяется. В быстро меняющемся коде, безусловно время на изменение и поиска багов будет в разы выше за счёт сложности и масштабности каждого изменения
      - с другой стороны, если декомпозировать весь код слишком мелко, то это создаст больше количество ненужных абстракций (методов, классов и сущеностей) и как результат усложняется чтение и как результат снова приходим к увеличению числа багов.
      Как видно, не существует единственно верного решения в силу того, что у всех задачи разные, как и отличается частота обновления кода. Поэтому оценка рисков должна происходить в каждом проекта по своему с учётом многих особенностей.
      По инструментам к сожалению не подскажем.
      Про SOLID и GoF будет рассказано в следующих частях, следите за анонсами)

    • @arman-6172
      @arman-6172 2 года назад +1

      @@AvitoTech спасибо за развёрнутый ответ) выходит лучше особо не увлекаться, чтоб не получить обратный эффект 👍. Ждём продолжения ☺️

  • @rndofpipowe
    @rndofpipowe 2 месяца назад

    UML же вроде умер. Нет?

  • @pokruk0
    @pokruk0 Год назад

    Жутко медленно рассказывает и материал абсолютно бесполезный и много воды

    • @Empilor
      @Empilor Год назад

      Ютуб уже давно добавил функцию ускорения видео. А по контенту - мои сожаления, что вам не зашло

    • @pokruk0
      @pokruk0 Год назад

      @@Empilor воду ускоряй не ускоряй - будет вода