Сергей, здравствуйте, я полностью посмотрел ваш вебинар, у вас просто отличная подача материала и его подбор, только лучше усовершенствовать презентацию, для хорошего привлечения аудитории 💥💥💥
Сергей, спасибо за вебинар! Мне было очень интересно. Но позволю себе мааааленькую долю критики. Если бы я был новичком и не знал, что такое GRASP, то выключил бы ролик уже на 8-й минуте. Просто потому, что я не понимал бы, про что черт побери этот грасп, для чего он нужен и зачем это мне надо. Вам, как профи, некоторые вещи настолько очевидны, что вы, возможно, считаете их очевидными для всех остальных. Но это не всегда так. В данном случае неплохо было бы в начале вебинара еще более просто рассказать, что такое шаблоны GRASP и зачем их нужно изучать новичку. Возникает встречный вопрос, а нужен ли GRASP новичку? Безусловно нужен. Я принимал участие в образовательном проекте и видел, что многие новички уже умеют выполнять простые задания по созданию методов. Но когда дело доходит до создание простенькой программы (крестики-нолики в консоли) то они пишут кондовый процедурный код. Потому что не понимают, по какому принципу создавать классы и какие методы туда записывать. Т.е. не понимают принципов распределения ответственности между классами. GRASP как раз отвечает на этот вопрос и дает указания, какие методы(ответственности) должны быть в классах и почему. Не зря же GRASP означает "общие шаблоны распределения ответственностей". Так же присоединяюсь к словам благодарности за ваши старые ролики про GRASP, GoF, SOLID, CC и другие. Спасибо! Время от времени их пересматриваю и часто нахожу в них что-то новое для себя.
Дуже правильні спостереження. Я помітив, що коли немає розуміння навіщо потрібні ті чи інші знання, то і засвоюються вони погано. А коли є розуміння навіщо, то тоді для них знаходиться місце у персональній картині знань і ці знання поступово перетворюються у досвід.
Поліморфізм без наслідування - це перегрузка методів (method overloading), коли в одному класі 2 методи з однаковою назвою можуть по-різному себе поводити
Полиморфизма без наследования не существует. Полиморфизм - это про поведение объектов разного типа, обобщенных абстракцией, которая предоставляет одинаковый АПИ. Методы единого класса ты не можешь обобщить никак, не изменяя порядок, количество или тип аргументов в сигнатуре метода, - а с этим это и есть перегрузка. Короче, полиморфизм типов != перегрузка методов.
А если объекты будут содержать все свое поведение то они будт нарушать принцип SRP single responsibility principle по этому иногда Эксперт не означает что метод подсчета суммы должен быть в самом классе товара! В большинстве случаев товар будет DTO (в котором кстати ДОЛЖНЫ быть геттеры и сеттеры) а подсчет будет инкапсулирован в отдельном классе который и будет экспертом. В другом классе который тоже будет принимать то же ДТО будет метод например отображения товара - и этот класс будет тоже экспертом
Да я тоже слушал старые лекции Сергея по GRASP, даже если вы читали книги, то это такие вещи, которые нужно актуализировать в голове постоянно
Тимур, что скажете по поводу реализации GRASP в JS? Согласны с Сергеем?
@@SMTDNможно таймкод?
вам часто прилетает критика что вы сложные вещи объясняете сложным языком? Или я буду первым?
Сергей, здравствуйте, я полностью посмотрел ваш вебинар, у вас просто отличная подача материала и его подбор, только лучше усовершенствовать презентацию, для хорошего привлечения аудитории 💥💥💥
Сергей, спасибо за вебинар! Мне было очень интересно. Но позволю себе мааааленькую долю критики.
Если бы я был новичком и не знал, что такое GRASP, то выключил бы ролик уже на 8-й минуте.
Просто потому, что я не понимал бы, про что черт побери этот грасп, для чего он нужен и зачем это мне надо.
Вам, как профи, некоторые вещи настолько очевидны, что вы, возможно, считаете их очевидными для всех остальных. Но это не всегда так.
В данном случае неплохо было бы в начале вебинара еще более просто рассказать, что такое шаблоны GRASP и зачем их нужно изучать новичку.
Возникает встречный вопрос, а нужен ли GRASP новичку? Безусловно нужен.
Я принимал участие в образовательном проекте и видел, что многие новички уже умеют выполнять простые задания по созданию методов. Но когда дело доходит до создание простенькой программы (крестики-нолики в консоли) то они пишут кондовый процедурный код. Потому что не понимают, по какому принципу создавать классы и какие методы туда записывать. Т.е. не понимают принципов распределения ответственности между классами.
GRASP как раз отвечает на этот вопрос и дает указания, какие методы(ответственности) должны быть в классах и почему.
Не зря же GRASP означает "общие шаблоны распределения ответственностей".
Так же присоединяюсь к словам благодарности за ваши старые ролики про GRASP, GoF, SOLID, CC и другие. Спасибо! Время от времени их пересматриваю и часто нахожу в них что-то новое для себя.
Дуже правильні спостереження. Я помітив, що коли немає розуміння навіщо потрібні ті чи інші знання, то і засвоюються вони погано. А коли є розуміння навіщо, то тоді для них знаходиться місце у персональній картині знань і ці знання поступово перетворюються у досвід.
Слабое зацепление и высокая связность, а не «низкая связанность и высокая зацеплённость»
Понимаю легко перепутать :)
Про собаку это мега ржач но получилось 😂😂😂❤
8 оперативки сейчас под java не хватает вообще) Разве что для начала обучения. 16 для работы тоже маловато для многих проектов
Саша ты супер
Я тоже почти МТУСИ закончил. Надеюсь тоже карьера сразу начнется. Из России, правда пришлось уехать(
Поліморфізм без наслідування - це перегрузка методів (method overloading), коли в одному класі 2 методи з однаковою назвою можуть по-різному себе поводити
Полиморфизма без наследования не существует. Полиморфизм - это про поведение объектов разного типа, обобщенных абстракцией, которая предоставляет одинаковый АПИ. Методы единого класса ты не можешь обобщить никак, не изменяя порядок, количество или тип аргументов в сигнатуре метода, - а с этим это и есть перегрузка. Короче, полиморфизм типов != перегрузка методов.
@@channel-yg2xc А при чому тут поліморфізм типів? Я не писав про нього. Більше того, я навіть не згадував про поліморфізм саме в ООП.
Полиморфизм спокойно существует без наследования
См. Что такое динамическая диспетчеризация
@@channel-yg2xcСуществует. В Java это Object и рефлексия, в C++ это шаблоны
А если объекты будут содержать все свое поведение то они будт нарушать принцип SRP single responsibility principle по этому иногда Эксперт не означает что метод подсчета суммы должен быть в самом классе товара! В большинстве случаев товар будет DTO (в котором кстати ДОЛЖНЫ быть геттеры и сеттеры) а подсчет будет инкапсулирован в отдельном классе который и будет экспертом. В другом классе который тоже будет принимать то же ДТО будет метод например отображения товара - и этот класс будет тоже экспертом
Саша ты супер