Спасибо! Метод быть пнутой у табуретки, вместо пнуть у человека. Прям как инсайт, осознал причину многих своих трудностей этапа проектирования. всё встало на свои места. Спасибо! :)
@@SergeyNemchinskiy а метод "быть пнутой" делегирует выполнение человеку - "пнуть" ? Ибо участие объекта "человек" в этом процессе должно быть зафиксировано, с точки зрения модели реального мира ))
Спасибо, это просто гениальная лекция! Почему то на Ютубе почти нет видео на подобные темы - только читай книги, учись в универе или набирайся опыта в реальной компании
Всем привет. Я по поводу звука :). В начальных видео, когда Сергей ничего не говорил, то звук (шипение тишины) полностью затихал. Когда начинал говорить, то шум появлялся и это реально меня напрягало. В этом видео уже этого нету. Несмотря не это я благодарен автору за видео. Если кого-то не устраивает, то идите на платные курсы или купите хорошую аппаратуру и подарите Сергею. Он и так делает хорошее дело, что записывает такое видео. Спасибо!
По поводу поднятой шумихи о качестве звука и видео: были проблемы в первом видео у вас с отключением звука во время пауз вашего рассказа, действительно не совсем удобно было слушать и казалось что будто пропускаются слова, но это вы уже исправили. Во всем остальном качество звука и видео, а так же дикция и предоставление материала на вполне достойном уровне для видео лекций. Если вам ребята не нравится качество звука или микрофон Сергея, скиньтесь и подарите ему хороший студийный микрофон, я думаю он это заслужил) За лекции большое спасибо, тема действительно интересная и сложная, жду с нетерпением продожения)
Ага Free To Play RPG "Байки по Java"))) А с женой согласен, да и "зрители" обнаглевшие пошли, мало им того что человек личное время тратит, что бы сделать качественный курс, так еще им и стерео звук подавай, скоро наверно 3д картинку просить будут))
Добрый день, Сергей! Огромное спасибо за видео! Если разместите ссылку "поблагодарить денежным переводом" - думаю что как минимум на микрофон, о котором некоторые все время говорят, сразу получится собрать. У меня кстати к звуку претензий нет - все отлично. И, не смотря на отсутствие проблем со звуком, денежную благодарность я бы с удовольствием отправила. Есть у меня некоторая "добавка" к объяснению про группы и их вложенности - если заранее определить уровень вложенности групп товаров, то в дальнейшем нельзя будет добавить еще один уровень, не переписывая уже написанное. Т.е. при такой реализации теряется гибкость и масштабируемость. Извините, если "добавка" не в тему.
Сергей, правильно ли я понимаю, что во взаимоотношениях между Cart и Shop нужно было использовать символ агрегации (ромб) вместо ассоциации (простая стрелочка)? Да, и в каких случаях возможна ассоциация без агрегации? Ведь для того, чтобы объект А вызвал у объекта Б какой-то метод, первый (как мне кажется) должен хранить в себе либо сам объект Б, либо его предка?
спасибо. видео как всегда замечательное. а вот звук. ну блин. может вам на телефон звуковую дорожку писать. всяко лучше должно быть. или попросить благодарных зрителей на микрофон скинуться.
Класне відео, слухаю в навушниках - ніяких проблем зі звуком. У мене є питання по ООП: багато де в приклад класу наводять Автомобіль, а от Audi A6 є екземпляром даного класу. Чи правдиве таке твердження? Я схиляюсь до думки що клас Автомобіль більше підходить в ролі інтерфейсу, оскільки автомобілі бувають різними(від форми і конструкції до способу пересування і тд). Тут доцільніше зробити клас AudiASeries(або взагалі Tesla) який успадковується від інтерфейсу Автомобіль. Чи правильно я думаю? І чи доцільно наводити як приклад класу - план будинку, а збудований будинок як екземпляр? Дякую
Спасибо за видео. Я недавно проходил обучение в большой компании и там подход к декомпозиции такой: нам давали задание построить графическую схему таблиц в БД вместе с их связями (ну понятное дело, что ориентируясь на функционал, что описан в ТЗ (станция технического обслуживания)) Потом мы это в Sql переводили, и потом функционал реализовывали. Вот сейчас думаю, что мы так делали только потому, что менторы прекрасно понимали дальнейший ход и этот этап (UML классов) о котором вы говорите в видео они просто пропустили. Или же это действительно другой подход к задачи декомпозиции?
Не понимаю почему у большинства из видео в видео проблемы со звуком. Мне все отлично слышно начиная с первого видео. Видео очень понравилось. Веселое :)
Мне кажется не нужно начинать декомпазицию предметной области с бизнес- уровня. Важно начать с useCase'ов, а именно useCase и для него class diagram, затем следующий useCase - class diagram. Тогда и легче не выйти за пределы скоупа и многие методы станут более адекватные. Например, никто не выбирает количество товара и потом нажимает кнопку добавить в корзину. Достаточно, например, корзине иметь метод добавить товар и корзина сама увеличивает счётчик.
Спасибо за видео, все легко и понятно. Мой вопрос немного не по теме. Сейчас представилась возможность попасть на практику в компанию, которая занимается разработкой приложений под Android. После успешного прохождения практики есть возможность начать работать в этой компании, но возникла дилема. Кроме Андроида также интересно направление Java EE. На сколько будет трудно в дальнейшем переключится с Андроида на Java EE?
"меньше стрелок" наверное стоило назвать "меньшая связанность". И как результат части системы проще будет менять / заменять. К примеру реализацию BuyItem. P.s. а может стоит говорить про программирование на уровне интерфейсов, а не реализаций ?
Ну дуже сумнівна штука насправді. Декомпозиція в тому вигляді в якому вона показана тут, це ніщо інше як спроба вгадати бізнес вимоги, що робити не дуже добре. Декомпозицію ,так би мовити, має дати нам клієнти у вигляді АС, а ми в свою чергу маємо намалювати архітектуру відповідно до АС, що і показано в відео. Буду радий критиці)
Подскажите пожалуйста, зачем нам нужно делать объект cart который агрегирует buyitem, а потом cart маппировать с юзером через shop. Не проще ли просто в юзера засунуть List? Такая вариация подойдет, или в класе cart есть какой-то неочевидный для меня смысл?
Поначалу, я пытался как можно быстрее придумать названия членам класса. Но потом, после того, как код разростался, становилось сложно ориентироваться, т.к. не понимал по идентификаторам who is who. Теперь, больше уделяю времени для того, чтобы дать выразительной имя мэмберам.
блин действительно. звук - явное слабое звено ваших видео. Микрофон который у вас в кадре - не годится для youtube записей. Некачественный звук, звук с шумом, где нужно вслушиваться в расказчика - это действительно неуважение к зрителям. Любая USB моделька от Samson/Audio-Technica/Rode в диапазоне $150-200 позволит нормально убирать шум (даже если стоит рядом с системным блоком)
Спасибо! Метод быть пнутой у табуретки, вместо пнуть у человека. Прям как инсайт, осознал причину многих своих трудностей этапа проектирования. всё встало на свои места. Спасибо! :)
Отлично! Я сам долго в это въезжал по началу
@@SergeyNemchinskiy а метод "быть пнутой" делегирует выполнение человеку - "пнуть" ? Ибо участие объекта "человек" в этом процессе должно быть зафиксировано, с точки зрения модели реального мира ))
или "пнуться человеком"
God object и метод табуретки "быть пнутой" - это прекрасно и на самом деле многое объясняет, спасибо!
Спасибо, это просто гениальная лекция! Почему то на Ютубе почти нет видео на подобные темы - только читай книги, учись в универе или набирайся опыта в реальной компании
а что плохого в книгах или работы в реальной компании?
Супер лекция! Особенно понравилось, цитирую: "И так мы дойдём до Адама и Евы.", "God object", "И в этом классе мы и умрём!" 😂
Спасибо за потраченное Вами время, очень интересно и информативно.
Всем привет. Я по поводу звука :). В начальных видео, когда Сергей ничего не говорил, то звук (шипение тишины) полностью затихал. Когда начинал говорить, то шум появлялся и это реально меня напрягало. В этом видео уже этого нету. Несмотря не это я благодарен автору за видео. Если кого-то не устраивает, то идите на платные курсы или купите хорошую аппаратуру и подарите Сергею. Он и так делает хорошее дело, что записывает такое видео. Спасибо!
Всё отлично! Спасибо! Продолжайте в том же духе!
По поводу поднятой шумихи о качестве звука и видео: были проблемы в первом видео у вас с отключением звука во время пауз вашего рассказа, действительно не совсем удобно было слушать и казалось что будто пропускаются слова, но это вы уже исправили. Во всем остальном качество звука и видео, а так же дикция и предоставление материала на вполне достойном уровне для видео лекций. Если вам ребята не нравится качество звука или микрофон Сергея, скиньтесь и подарите ему хороший студийный микрофон, я думаю он это заслужил) За лекции большое спасибо, тема действительно интересная и сложная, жду с нетерпением продожения)
Ага Free To Play RPG "Байки по Java"))) А с женой согласен, да и "зрители" обнаглевшие пошли, мало им того что человек личное время тратит, что бы сделать качественный курс, так еще им и стерео звук подавай, скоро наверно 3д картинку просить будут))
@@fakeprince3025 Привет из 2023 - требуют :D
Добрый день, Сергей! Огромное спасибо за видео! Если разместите ссылку "поблагодарить денежным переводом" - думаю что как минимум на микрофон, о котором некоторые все время говорят, сразу получится собрать. У меня кстати к звуку претензий нет - все отлично. И, не смотря на отсутствие проблем со звуком, денежную благодарность я бы с удовольствием отправила. Есть у меня некоторая "добавка" к объяснению про группы и их вложенности - если заранее определить уровень вложенности групп товаров, то в дальнейшем нельзя будет добавить еще один уровень, не переписывая уже написанное. Т.е. при такой реализации теряется гибкость и масштабируемость. Извините, если "добавка" не в тему.
Ребята, то у вас в голове шумит ... мозг закипает :D
Сергей - спасибо огромнейшее!
по группам товаров - это дерево
каждая запись имеет id
каждая группа имеет родителя
товар может иметь список из id групп
Спасибо за видео. Со звуком все норм!
Респект и уважуха, продолжайте пож-та
Сергей, правильно ли я понимаю, что во взаимоотношениях между Cart и Shop нужно было использовать символ агрегации (ромб) вместо ассоциации (простая стрелочка)? Да, и в каких случаях возможна ассоциация без агрегации? Ведь для того, чтобы объект А вызвал у объекта Б какой-то метод, первый (как мне кажется) должен хранить в себе либо сам объект Б, либо его предка?
Андрей Логошко
Когда мы передаём экземпляр объекта как параметр метода, мы же можем вызывать у него методы
В StarUML что бы написать Map необходимо запятую заменить точкой. Он не хочет рисовать там запятые и ругается из-за этого. Спасибо за видео!
Выбрав поле, в окне "Properties" (вне диаграмы, там где шрифт и стили) можно в поле "type" вручную вписать "Buyer, Cart". Тогда работает.
спасибо. видео как всегда замечательное. а вот звук. ну блин. может вам на телефон звуковую дорожку писать. всяко лучше должно быть. или попросить благодарных зрителей на микрофон скинуться.
Класне відео, слухаю в навушниках - ніяких проблем зі звуком.
У мене є питання по ООП: багато де в приклад класу наводять Автомобіль, а от Audi A6 є екземпляром даного класу. Чи правдиве таке твердження? Я схиляюсь до думки що клас Автомобіль більше підходить в ролі інтерфейсу, оскільки автомобілі бувають різними(від форми і конструкції до способу пересування і тд). Тут доцільніше зробити клас AudiASeries(або взагалі Tesla) який успадковується від інтерфейсу Автомобіль.
Чи правильно я думаю?
І чи доцільно наводити як приклад класу - план будинку, а збудований будинок як екземпляр?
Дякую
Как называется это программа в которой вы uml рисуете?
Я потом разглядела название на экране StarUML
Спасибо за видео.
Сергей подскажите, между Shop и Bayer вы нарисовали связь Aggregation, может там лучше использовать Dependency?
-Не надо меня докомпозировать, я здесь хорошо сижу ©
Спасибо за видео. Я недавно проходил обучение в большой компании и там подход к декомпозиции такой: нам давали задание построить графическую схему таблиц в БД вместе с их связями (ну понятное дело, что ориентируясь на функционал, что описан в ТЗ (станция технического обслуживания)) Потом мы это в Sql переводили, и потом функционал реализовывали.
Вот сейчас думаю, что мы так делали только потому, что менторы прекрасно понимали дальнейший ход и этот этап (UML классов) о котором вы говорите в видео они просто пропустили. Или же это действительно другой подход к задачи декомпозиции?
Спасибо за ответ
Очень полезное видео. Спасибо)
Не понимаю почему у большинства из видео в видео проблемы со звуком. Мне все отлично слышно начиная с первого видео. Видео очень понравилось. Веселое :)
Мне кажется не нужно начинать декомпазицию предметной области с бизнес- уровня. Важно начать с useCase'ов, а именно useCase и для него class diagram, затем следующий useCase - class diagram. Тогда и легче не выйти за пределы скоупа и многие методы станут более адекватные. Например, никто не выбирает количество товара и потом нажимает кнопку добавить в корзину. Достаточно, например, корзине иметь метод добавить товар и корзина сама увеличивает счётчик.
в теории - да. но если вы заставите программистов писать юз кейсы - они вообще нефига делать не будут
Не могу понять как устроен класс Group, можно где ни будь посмотреть пример реализации этого класса?
Спасибо за видео, все легко и понятно. Мой вопрос немного не по теме. Сейчас представилась возможность попасть на практику в компанию, которая занимается разработкой приложений под Android. После успешного прохождения практики есть возможность начать работать в этой компании, но возникла дилема. Кроме Андроида также интересно направление Java EE. На сколько будет трудно в дальнейшем переключится с Андроида на Java EE?
"меньше стрелок" наверное стоило назвать "меньшая связанность".
И как результат части системы проще будет менять / заменять. К примеру реализацию BuyItem.
P.s. а может стоит говорить про программирование на уровне интерфейсов, а не реализаций ?
Сергій часто так буває що весь код в кінці сходиться в контроллерах серверу, а ви говорили, що це поганий знак, як тут можна з цим боротися?
Дякую!
что за программа?
Слушайте смысл, а не отдельные слова, тогда норм звук, и отличный материал. Я даже когда прочитал комментарии, не понимаю, чем звук не нравиться.
Серега ты такой оказывается такой красавчик)
спасибо, очень познавательно :)
Чет не уловил, зачем в классе "Shop" поле "root (group)". Какую задачу оно решает?
Спасибо : ) КРУД видимо потому, что это аббревиатура и читается так как произносятся буквы :)
C - си, R - ар, U - ию, D ди = СИАРИЮДИ )))
Да. Самое трудное в программировании - придумать названия сущностей (объектов, переменных, модулей, пакетов).
Это же диаграмма классов а не модель предметной области получается
Ну дуже сумнівна штука насправді. Декомпозиція в тому вигляді в якому вона показана тут, це ніщо інше як спроба вгадати бізнес вимоги, що робити не дуже добре. Декомпозицію ,так би мовити, має дати нам клієнти у вигляді АС, а ми в свою чергу маємо намалювати архітектуру відповідно до АС, що і показано в відео.
Буду радий критиці)
very helpful thanks
хуже можно только использовать часто в качестве типов полей, переменных и параметров Object
Подскажите пожалуйста, зачем нам нужно делать объект cart который агрегирует buyitem, а потом cart маппировать с юзером через shop. Не проще ли просто в юзера засунуть List? Такая вариация подойдет, или в класе cart есть какой-то неочевидный для меня смысл?
Мне кажется, что последние три видео - это байки не про Java, а про проектирование. Java там почти нет.
"И где здесь Джава?" (С) Сергей Немчинский
14:50 Категория блин. Category
Поначалу, я пытался как можно быстрее придумать названия членам класса. Но потом, после того, как код разростался, становилось сложно ориентироваться, т.к. не понимал по идентификаторам who is who. Теперь, больше уделяю времени для того, чтобы дать выразительной имя мэмберам.
Сергей тут такой молодой)
тю, блин. а я - то думал, что это я один из-за ограниченности ума зависаю над декомпозицией. оказывается, спецы тоже))) может, и я спец?
СПС
вы такой упор ставите на правильный нейминг, а сами называете классы и поля супер-непонятно и неправильно с точки зрения смысла..
блин действительно. звук - явное слабое звено ваших видео. Микрофон который у вас в кадре - не годится для youtube записей. Некачественный звук, звук с шумом, где нужно вслушиваться в расказчика - это действительно неуважение к зрителям.
Любая USB моделька от Samson/Audio-Technica/Rode в диапазоне $150-200 позволит нормально убирать шум (даже если стоит рядом с системным блоком)
Первый смотрю!
Хуже неправильных имен это глобальные константы которые очень давно живут в коде...
Хреновое обьяснение.
Вот смотрите как выглядит алгоритм декомпозиции задач:
ruclips.net/video/BfAhxx8YiyM/видео.html
Лучшего не найдёте!
Фуххх блин !!!!!!!!!! Декомпозировать декомпозировать - сделать теоретический чертёж с данными ,и методами .... Блин декомпозировать )) ........