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/
Уф, это было классно! Столько всего нового и интересного! Ещё пополнился список литературы для чтения! Фаулер - ван лав) В общем жду следующий сезон данного цикла 💫🎉🫀 Отличная работа 👍
Вся литература с первого сезона
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
Спасибо огромное за курс. Узнал много всего нового, а также навел порядок в уже имеющихся знаниях.
Надеюсь на продолжение курса.
Спасибо! Очень полезно
Спасибо! Ждём новый сезон!
Большое спасибо! Ждем новый сезон.
Отдельный респект за ptoterty1 вместо foo и bar
Огромное спасибо за курс ! Посмотрел с удовольствием и пользой)
Спасибо за курс! Все что нужно и без воды.
Спасибо за курс. Узнал много нового.
Спасибо за отзыв! 😊
Юра, молодец) Авито и Юра спасибо!
Спасибо большое! Очень полезно и познавательно, прошел первый сезон, иду смотреть второй.
Для простоты можно рассматривать агрегацию как владение по ссылке, а композицию как владение по значению
Этот курс достоин большего, чем ~200 лайков! Не хватало таких всеобъемлющих, и в то же время кратких курсов, всё по делу, все подано просто 🤌
Я бы хотел его посмотреть в начале карьеры, столько было бы ответов, которые получал кропотливо, и иногда мучительно долго 😂
Спасибо еще раз и команде Авито, и дизайнерам заставки, и конечно Юрию за прекрасный курс
❤
Очень, очень, очень круто!!!! Эмоции меня переполняют и сложно выразить словами всю благодарность вам за Труд.
Вы просто новые вселенные открываете. Очень круто было бы закрепить эти знания на практике. Ну и смотреть придётся раза 3 и под карандаш.
Хорошая серия видео. Спасибо. Как фичреквест - список литературы добавлять в описании к видео и, возможно, в описании плейлиста
Спасибо за отзыв и предложение! 😊
Доброго времени суток, спасибо за такой курс, будет ли продолжение публикация новых куросв?
Доброго!
Спасибо за отзыв😊
Пока что точные даты назвать сложно, но план на продолжение у нас есть)
Подписывайтесь на наши социальные сети, мы разместим в них всю информацию, о грядущих курсах. Вот, например, наш Telegram: t.me/avitotech
Или ВКонтакте: vk.com/avitotech
13:09 $atc написан вместо $atm
8:20 - может треугольника, а не прямоугольника? Я думал перед монтажом такие вещи просматривают и исправляют
Очень качественная подача. Интересные темы. Большое спасибо!)
Хотелось бы с такой подачей больше углубленного материала по SOLID, GoF, GRASP и все в таком духе, что из этого и как используют в крупных проектах.
1. Сам только начал изучать GRASP, может поэтому во втором видео с getTotalAmount показалось что и итоговый метод слишком много делает и многих знает. Можно ли думать на getTotalAmount как на локальный контроллер, который сам ничего не делает кроме делегирования? Тогда обход по продуктам будет делать отдельный метод или класс(шаблон GoF), добавление скидки и доставка свои отдельные методы/классы. Т.е. стремиться к тому, что точка входа в класс это тоже контроллер, тогда вроде очень близко будем к LC и HC, и с таким правилом в голове вроде легче будет добавлять-распределять по методам/классам новый функционал.
2. Может есть какие-нибудь хорошие инструменты для анализа кода по этим паттернам?
Очень рады, что вам понравилась данная тема. Говоря про Low Coupling и High Cohesion, стоит отменить что они являются маркерами сообщающими о том, когда код перестаёт быть гибким. Вопрос границ методов и классов лежит исключительно на разработчике и здесь есть две крайности:
- если перестанете следовать этим принципам, то понизится гибкость. Это может быть незаметно в том коде, который никогда не изменяется. В быстро меняющемся коде, безусловно время на изменение и поиска багов будет в разы выше за счёт сложности и масштабности каждого изменения
- с другой стороны, если декомпозировать весь код слишком мелко, то это создаст больше количество ненужных абстракций (методов, классов и сущеностей) и как результат усложняется чтение и как результат снова приходим к увеличению числа багов.
Как видно, не существует единственно верного решения в силу того, что у всех задачи разные, как и отличается частота обновления кода. Поэтому оценка рисков должна происходить в каждом проекта по своему с учётом многих особенностей.
По инструментам к сожалению не подскажем.
Про SOLID и GoF будет рассказано в следующих частях, следите за анонсами)
@@AvitoTech спасибо за развёрнутый ответ) выходит лучше особо не увлекаться, чтоб не получить обратный эффект 👍. Ждём продолжения ☺️
UML же вроде умер. Нет?
Жутко медленно рассказывает и материал абсолютно бесполезный и много воды
Ютуб уже давно добавил функцию ускорения видео. А по контенту - мои сожаления, что вам не зашло
@@Empilor воду ускоряй не ускоряй - будет вода