Пять принципов SOLID с примерами на Java

  Рет қаралды 44,071

selfedu

selfedu

Күн бұрын

Пікірлер: 149
@Николай-х3б4ф
@Николай-х3б4ф 7 ай бұрын
Вижу у Вас талант к преподавательской деятельности. Спасибо Вам, Сергей. Роста и развития🙏
@ЕрвандАгаджанян-в3к
@ЕрвандАгаджанян-в3к Жыл бұрын
Это самое прекрасное объяснение SOLID, которое я когда-либо видел!
@wivernx9449
@wivernx9449 11 күн бұрын
Шикарное объяснение, спасибо!
@ivmmos
@ivmmos Жыл бұрын
Однозначно недооцененный лайками ролик. Благодарность автору!
@eron
@eron 2 жыл бұрын
Супер, отличное объяснения принципов SOLID, на отличных понятных примерах. Спасибо большое!
@dmitrelkin9256
@dmitrelkin9256 2 жыл бұрын
Сергей спасибо за ваш труд! Как всегда кратко, без воды, лаконично и понятно! И еще очень подкупает дружелюбность подачи материала. )))
@ALEXZANDR_GAMES
@ALEXZANDR_GAMES Ай бұрын
Автор молодец! 👍 Объясняет просто и доходчиво(но достаточно подробно). Лайк и подписка однозначно.
@profesor2009
@profesor2009 Жыл бұрын
04:12 Принцип единственной ответственности 13:26 Принцип открытости-закрытости 20:48 Принцип подстановки Барбары Лисков 27:09 Разделение интерфейса 32:20 Принцип инверсии зависимости
@selfedu_rus
@selfedu_rus Жыл бұрын
Спасибо!
@Bah1918
@Bah1918 2 жыл бұрын
Это просто классно. Взаимодействие классов примеры отличные. Побольше таких уроков. СПАСИБО
@pavelbbb
@pavelbbb 11 ай бұрын
В джава есть не только интерфейсы, но и абстрактные классы, но за урок спасибо.
@starbuckscoffeeme
@starbuckscoffeeme 2 жыл бұрын
посмотрел весь курс ООП. лучший канал, с ПОНЯТНОЙ информацией. Буду смотреть теперь другие плейлисты канала и преисполняться в своем познании))))
@skyx5691
@skyx5691 8 ай бұрын
Даже сам мой кайф получил кайф от этого видео! 🎉Сергей, осторожно, так нельзя ! Ваши видео слишком кайфовые! Я чуть не начал биться в конвульсиях от кайфа при просмотре!!! Если серьёзно то спасибо Вам огромное за то как доходчиво, ясно и приятно Вы всё объясняете! Огромная благодарность и уважение Вам!
@Cynoptic8
@Cynoptic8 Жыл бұрын
Очень доступное объяснение принципов.
@Skreepan
@Skreepan 2 жыл бұрын
Вот это супер полезное видео! А я как раз дошел до того, что начал задумываться о правильном построение ПО! Спасибо!
@andredru4278
@andredru4278 8 ай бұрын
Спасибо. Познавательно и доступно.
@GROMOZEKA_NZT
@GROMOZEKA_NZT Жыл бұрын
Эталон обучающей информации!
@rocketman4072
@rocketman4072 Жыл бұрын
Самое понятно объяснение из всех что я видел.
@Мишаня-в7ф
@Мишаня-в7ф 9 ай бұрын
Серёга рассказывает как солит и не испортить свой проект 😂. Классное видео! Благодарю! Серьезно, очень ему благодарен- очень многому научился по его видео и курсам! Здоровья тебе, уважаемый Сергей. Уважаю тебя, Человечище!!! 🤝🙂
@egorvafin1978
@egorvafin1978 2 жыл бұрын
Хорошее объяснение. Все четко и доходчиво.
@artyomka_tlt
@artyomka_tlt 2 жыл бұрын
Самое понятное объяснение этих принципов. Спасибо за видео!)
@stasleonov5196
@stasleonov5196 2 жыл бұрын
Потрясающе здорово. Очень приятный голос, всё спокойно, понятно. Огромное спасибо за труд.
@taran_dm
@taran_dm 9 күн бұрын
Спасибо за труд!
@ДмитрийСергеев-л6г
@ДмитрийСергеев-л6г 2 жыл бұрын
Просто супер объяснение, спасибо огромное!!!
@revillnik1092
@revillnik1092 10 ай бұрын
Очень хороший курс, действительно кратко, по делу и грамотно, единственное , не хватает темы "абстрактные классы", она бывает полезна.
@wEssyy_Wsyy
@wEssyy_Wsyy 10 ай бұрын
Друг мой, ты вообще классно все обьяснил
@chessclub92
@chessclub92 Жыл бұрын
спасибо большое, очень полезный канал
@konstantinchvilyov9602
@konstantinchvilyov9602 Жыл бұрын
Спасибо! Это лучшее объяснение из всех, которые я видел!
@godzosioda
@godzosioda Жыл бұрын
Спасибо, все наглядно и понятно!
@romanreutowicz6909
@romanreutowicz6909 2 ай бұрын
Огромное спасибо!
@ДмитрийНувахов
@ДмитрийНувахов Жыл бұрын
Лучшее объяснение, спасибо!
@serjgoa4666
@serjgoa4666 2 жыл бұрын
Отличный урок! Один из лучших каналов на Ютуб!!! Мне как новичку в Пайтон не всё понятно из-за отличий между языками, имею ввиду интерфейсы и т.п., сильно отвлекаешься на различия, особенно ближе к концу. Возможно ещё рано над таким думать, но всё же надо двигаться вперёд. Если будет такое же видео только на Пайтоне, то будет вообще улёт. Можно даже в курс по ООП добавить)))
@Hellen-qx3lb
@Hellen-qx3lb 9 ай бұрын
Очень хорошее объяснение
@ДмитрийСергеев-л6г
@ДмитрийСергеев-л6г 2 жыл бұрын
Сергей, спасибо за видео. Очень ждал на вашем канале такого рода видео!
@jamjam3337
@jamjam3337 Жыл бұрын
Спасибо! Отличный курс! 💥💥💥
@АлексейПротасов-п6э
@АлексейПротасов-п6э 2 жыл бұрын
Лайк не глядя)
@ЖекаКабанов-э6ь
@ЖекаКабанов-э6ь 2 жыл бұрын
Буковки для продвижения. Автор красавчик.
@Flawden
@Flawden Жыл бұрын
Идеально, спасибо огромное! Я понял. И кажется понял нафига оно надо. Постараюсь сделать свой код лучше.
@unaibekovbakhyt6517
@unaibekovbakhyt6517 2 жыл бұрын
Спасибо за познавательные видео
@abaialihan9274
@abaialihan9274 Жыл бұрын
Очень понятно объяснил 👌 спасибо😀
@navalenstar
@navalenstar 11 ай бұрын
Спасибо за видио - это и остальные - приятная подача - приятно смотреть) А теперь немного критики - класс лучше назвать не SaveComputer а ComputerSaver или ComputerStorage - должно быть существительное, т.к. в человеческом языкие именно существительные обозначают объекты мира которые мы моделируем с помощью классов. И когда не получается придумать нормальное название для класса это часто признак что с классом чтото не так (например он перегружен ответственностью)
@vitalyvistovsky8661
@vitalyvistovsky8661 2 жыл бұрын
Супер, дуже класне відео!
@alexhayes4253
@alexhayes4253 2 жыл бұрын
Круто, спасибо! Хотелось бы на питоне, конечно, так как смотрю с плейлиста по ООП питону. Но, насколько я понял, ярче всего эти принципы работают со строго-типизированными языками. Так что так, полагаю, лучше
@svetoslavzamotaev2725
@svetoslavzamotaev2725 Жыл бұрын
Замечательный голос и содержание видео !
@marines8725
@marines8725 20 күн бұрын
спасибо!
@Konstantin_Stalnov
@Konstantin_Stalnov Жыл бұрын
Второй Принцип: Закрытости / Открытости. Это тот принцип, благодаря которому раздувается ПО в геометрической прогрессии, а функционал в арифметической!
@Watcherfromfar
@Watcherfromfar 7 ай бұрын
Да тут каждый второй принцип такой. Например последний принцип инверсии зависимостей потребовал создания двух файлов - интерфейсов. А ведь это простой учебный пример. В реальном коде там этих классов и интерфейсов будут сотнями измеряться походу.
@d1ns_799
@d1ns_799 4 ай бұрын
Очень хорошее видео, познавательное, но учить новичков тому, что интерфейс = абстрактный класс - НЕ хорошо! Если это кто-то читает, то основное (главное) отличие абстрактного класса от интерфейса - это state. У абстрактного класса может быть состояние, у интерфейса - нет. За видео поставил лайк!
@8-Artem-8
@8-Artem-8 2 жыл бұрын
Как можно определить, что разработчик пришел из питона? - Стиль написания snack_case. В java, особенно в энтерпрайз проектах, по -дефолту, используется camelCase. Но видео, как всегда, классное. Спасибо!
@selfedu_rus
@selfedu_rus 2 жыл бұрын
это привычка, последнее время много на питоне писал ))
@eskelgarsio2998
@eskelgarsio2998 2 жыл бұрын
Ура, побольше java!
@Watcherfromfar
@Watcherfromfar 7 ай бұрын
Посмотрел видео, понял, что надо повторить тему с полиморфизмом (в питоне). То что тут java - нестрашно, быстро привыкаешь к синтаксису. Особенно если знаком с тайп хинтами. А вот интерфейсы сбивают с толку. Аналогию с питоном не успеваешь строить, как в видео уже следующий принцип разбирается. Я аж чувствую, как мозг физически нагревается))
@danila9853
@danila9853 Жыл бұрын
Очень понравилось, спасибо! Единственное может быть слишком быстро? и конечно для закрепления нужно больше практики.
@3ple-ash
@3ple-ash 2 жыл бұрын
Все же не стоит интерфейсы относить к абстрактным классам. Посредством интерфейсов реализуется полиморфизм(не считая интерфейсы маркёры, функциональные интерфейсы), а функционал абстрактных классов чаще используется в наследовании как суперкласс. Если кто-то запомнит этот тезис и на собеседовании скажет что интерфейс это абстрактный класс, то быть беде.
@AlexPInv
@AlexPInv 11 ай бұрын
А как можно сказать ,что интерфейс = класс ? Тут сама риторика говорит об этом ,что это разные объекты
@КириллЧе-я5ы
@КириллЧе-я5ы 10 ай бұрын
Не стоит, но в тех же плюсах интерфейсы реализуются чистыми абстрактными классами
@dadadada-zc6nk
@dadadada-zc6nk 10 ай бұрын
По сути и абстрактный класс и интерфейс это абстракции, поправьте если ошибаюсь. И наверное правильнее будет называть их "абстракциями"
@mrakobes228
@mrakobes228 8 ай бұрын
А посредством абстрактных классов полиморфности разве не будет? Конечно будет.
@3ple-ash
@3ple-ash 8 ай бұрын
@@mrakobes228 конечно не будет, полиморфизм это связывание разных классов с общим поведением, наследование от абстрактного класса это расширение супер класса. Рыба может плыть и тапок может плыть, может ли тапок быть потомком рыбы или все же у них есть обобщенное поведение, которое можно объединить через интерфейс добавив полиморфизм?
@IvanFedulov
@IvanFedulov Ай бұрын
по solid много видео и на русском, но это имхо лучшее
@sergeysergey421
@sergeysergey421 2 жыл бұрын
Когда объясняли зависимость интерфесов, нужно наверное было создать интерфейс DrawGeometry с абстрактным методом Draw. При наследовании мы бы получилиLine.Draw(), Circle.Draw(), Rectangle.Draw().если не ошибаюсь,то это был бы паттерн фабрика. По паттернам будет обучение?
@sahar_plays
@sahar_plays 2 жыл бұрын
Классно, с возвращением... Java'у?)
@Andrei-t8j
@Andrei-t8j Жыл бұрын
абстрактный класс != интерфейс
@fomka_wyverno
@fomka_wyverno Жыл бұрын
19:00 так, а зачем для того что бы сохранить в БД путь к файлу? - А если допустим в облако, то нужно ещё дополнительные данные, тогда или просто убрать нужно path с аргумента интерфейса. Потому что для разных типов сейвов/лоадов нужны свои доданые фишки. Тогда вердикт такой что в методе должен быть только Компютер класс, но ни как не путь к файлу, так как это уже часть для самого сейвера который реализует только сейв в файл, а для дб и для облока, он не нужен
@andreychernykh256
@andreychernykh256 2 жыл бұрын
К такому меня жизнь не готовила!
@duke007x3
@duke007x3 2 жыл бұрын
С примерами на пайтон будет?) спасибо 🙏
@димашапка-у4л
@димашапка-у4л 9 ай бұрын
Круто
@ДмитрийБузницкий-б3н
@ДмитрийБузницкий-б3н 10 ай бұрын
Спасибо за данное видео. Хотел бы задать следующий вопрос, который больше относится к программированию на С++. Считается ли нарушением принципа подстановки Барбары Лисков, если мы в базовом классе определим виртуальную функцию, с одним поведением, а уже в её классе наследнике мы эту виртуальную функцию переопределяем, т.е. задаём другое поведение? Ведь виртуальные функции и нужны для того чтобы их переопределять.
@segeus
@segeus Жыл бұрын
Жду разбор шаблонов проектирования GoF.))
@pocomaxa8612
@pocomaxa8612 7 ай бұрын
Не понятно одно,почему Сергей во всех роликах про ооп использовал python,а в последнем перешёл на java ?А так все доступно и понятно разъяснил.
@shoislom2200
@shoislom2200 7 ай бұрын
так он вначале говорит, что объяснить принципы солид легче на джаве, так как там есть интерфейсы. В питоне тоже вроде можно используя абстрактные классы.
@pocomaxa8612
@pocomaxa8612 7 ай бұрын
@@shoislom2200 Про абстрактные классы я знаю,но все же
@zakirovio
@zakirovio Жыл бұрын
Получается принцип открытости и закрытости, как бы подталкивает для осуществления принципа единственной ответственности, так как нужно каждый раз создавать отдельный класс)
@АндрейСкворцов-з6ш
@АндрейСкворцов-з6ш 2 жыл бұрын
Ура!!!!
@yuriismakota9574
@yuriismakota9574 Жыл бұрын
ничего не понятно, но очень интересно...
@samirbagamaev93
@samirbagamaev93 Жыл бұрын
спасибо
@АлександрКаптуров-с8и
@АлександрКаптуров-с8и 2 жыл бұрын
Сергей, снимите пожалуйста видео про SOLID для Python. Спасибо!
@andreynomad
@andreynomad 2 жыл бұрын
А в чём разница? Эти принципы едины для всех ЯП.
@zakirovio
@zakirovio Жыл бұрын
касаемо Барбары Лисков, для себя запомнил так, что если в базовом классе метод записывал данные файл, нельзя его переопределить в дочернем, чтобы он этот файл удалял, то бишь логика метода менялась с ног на голову) как то так)
@zakirovio
@zakirovio Жыл бұрын
хотя все равно не очень понятна граница, какие изменения в переопределении метода, будут противоречить принципу
@sladge17
@sladge17 2 жыл бұрын
А можно, тоже самое, но на python?
@pepesh9
@pepesh9 8 ай бұрын
букву S разве не модно было как - то подругому сделать например у класса SHAPE просто оставить метод DRAW и тогда получилось что в классах нужно было бы просто переопределить метод DRAW нежели создавать 3 лишних интерфейса которые наоборот нагружают память
@Uxfluxflux4
@Uxfluxflux4 Жыл бұрын
Лайк с вертухана
@fomka_wyverno
@fomka_wyverno Жыл бұрын
последнее вообще не понял, мы создали IForm интерфейс но при этом от куда нам брать тогда информацию для записи? То что они просто связаны на том что они одного интерфейса, но допустимо как его тогда сохранить если нету информации. Вообще не понял что происходит
@SB-pk2ss
@SB-pk2ss 8 ай бұрын
Самая основная проблема подобных видосов это чрезмерное упрощение примеров. Информация вроде подается хорошо. Но вот эти вот "Ну, я просто для примера, напишу вот такие методы, какая разница" или "Ну, назову класс SaveComputer, можно было бы поумнее, но какая разница" очень портят качество. Ну придумайте вы нормальные полноценные законченные примеры, близкие к реальным, без вот этих вот "допущений". Это сильно поднимет качество роликов.
@elnar_1206
@elnar_1206 2 жыл бұрын
Может быть курс по Java сделаете?😅
@selfedu_rus
@selfedu_rus 2 жыл бұрын
посмотрим ))
@7778-d2i
@7778-d2i 2 жыл бұрын
👍🏻
@chimchimsterschannel161
@chimchimsterschannel161 Жыл бұрын
Сергей, спасибо за видео. Скажите, получается второй принцип это использование абстрактных миксинов которые применять нужно при множественном наследовании?
@selfedu_rus
@selfedu_rus Жыл бұрын
как один из примеров да, подходит
@zakirovio
@zakirovio Жыл бұрын
нравится Java) думаю в качестве компилируемого языка начну изучать ее) у вас не планируется вводный курс по ней?
@selfedu_rus
@selfedu_rus Жыл бұрын
уже есть, см. плейлист на этом канале )
@skyx5691
@skyx5691 8 ай бұрын
Джава компилируемый язык только наполовину (до создания байт кода). Далее после этого, во время чтения байт кода - это уже гибридный язык , так как работает одновременно и JIT компилятор и интерпретатор в паре чтобы транслировать файл класса (байт код) в исполняемый файл на машинном языке. Чисто компилируемые языки это C, C++, Rust, Go и тд
@zakirovio
@zakirovio 8 ай бұрын
@@skyx5691 да теперь уже знаю, спасиб
@olegmakarikhin
@olegmakarikhin 2 жыл бұрын
Сергей, вы добавили это видео в плейлист по ооп питона?
@selfedu_rus
@selfedu_rus 2 жыл бұрын
да, пусть будет, это же принципы, которые универсальны для любого языка программирования
@Name-ko3qb
@Name-ko3qb 2 жыл бұрын
Добрый день, планируются еще видео по чистой архитектуре? Спасибо!
@selfedu_rus
@selfedu_rus 2 жыл бұрын
Пока не думал об этом, я вообще планов таких не строю, как идет, так и делаю ))
@user-sl1tw9vg8x
@user-sl1tw9vg8x 2 жыл бұрын
а почему не на Python как раз после курса ОПП
@selfedu_rus
@selfedu_rus 2 жыл бұрын
В Python не так хорошо все можно продемонстрировать, например, те же абстрактные классы или интерфейсы, полиморфизм, в питоне это скрыто и встроено в саму структуру языка, было бы не так очевидно
@АлексейПротасов-п6э
@АлексейПротасов-п6э 2 жыл бұрын
Заметил интересное(в java базовый класс может хранить ссылку на объект класса-наследника), а что касается методов и переменных класса-наследника?Можно ли их использовать через базовый класс?
@selfedu_rus
@selfedu_rus 2 жыл бұрын
нет, только после приведения типа к дочернему классу
@uchoba
@uchoba Жыл бұрын
Канал хороший смотрю плейлист по питону и по си. Вопрос аа почему принципы Solid по java? будите делать по этому языку плейлист как по си? Или эти принципы к другим языкам то же подходят?
@selfedu_rus
@selfedu_rus Жыл бұрын
Спасибо! Просто на Java было проще всего показать эти принципы, а так да, они едины для всех языков, где есть ООП.
@uchoba
@uchoba Жыл бұрын
@@selfedu_rus ясно спасибо)⚡⚡⚡
@ДмитрийАверьянов-щ4г
@ДмитрийАверьянов-щ4г 2 жыл бұрын
Здравствуйте. А что, планируются уроки по Java?
@selfedu_rus
@selfedu_rus 2 жыл бұрын
так они же есть?
@ДмитрийАверьянов-щ4г
@ДмитрийАверьянов-щ4г 2 жыл бұрын
@@selfedu_rus И правда. Проглядел))
@valman6866
@valman6866 2 жыл бұрын
Сергей, такой вопрос: разве в показанном примере на 18:00 код не нарушает принцип DRY? Ведь, по сути, при дальнейшем расширении программы, мы будем иметь множество классов с практически идентичным функционалом. Пусть это и нарушит принцип единой ответственности, но почему создать отдельный класс Saver, который будет реализовать все функции, связанные с сохранением, нельзя? Разве так не проще?
@selfedu_rus
@selfedu_rus 2 жыл бұрын
Конечно, это сильно упрощенные примеры. Принципы SOLID для серьезных проектов. Я здесь лишь показываю идею. Конечно в этих програмках городить такие огороды ни к чему )) Я это сделал лишь для простоты изложения материала - идей принципов SOLID
@valman6866
@valman6866 2 жыл бұрын
@@selfedu_rus В таком случае не очень хорошо закрепляется материал, так как пример не отражает "боевую" ситуацию, которая действительно может произойти. Не могли бы Вы привести пример из своего личного опыта, когда Вы использовали этот принцип в своем проекте и он действительно помог в обозримом будущем?
@КириллЧе-я5ы
@КириллЧе-я5ы 10 ай бұрын
Все же лучше называть класс не действием - это ведь сущность. Здесь, в примере с Computer, имхо достаточно рассмотреть навязшую в зубах mvc. Есть область хранилища, есть само представление сущности, и есть какой-то контроллер, обеспечивающий взаимодействие хранилища и представления. Имхо🥴
@sense3247
@sense3247 2 жыл бұрын
Есть что то подобное не для ООП, а для процедурного программирования?
@selfedu_rus
@selfedu_rus 2 жыл бұрын
там, в основном, все сводится к правильному набору функций, которые, опять же, должны решать строго ограниченную задачу, а более сложный функционал реализовывать через вызовы более простых функций
@back_to_life0
@back_to_life0 Жыл бұрын
Курс клёвый , но конец подкачал Нету абстрактных методов..
@domochevsky4703
@domochevsky4703 2 жыл бұрын
Так может надо было на питоне и делать эту рубрику...
@selfedu_rus
@selfedu_rus 2 жыл бұрын
там не покажешь так явно интерфейсы как в Java
@ДмитрийАлексеев-ц5щ
@ДмитрийАлексеев-ц5щ 2 жыл бұрын
Есть же к.с abstract для создания абстрактных классов, почему автор заостряет внимание именно на интерфейсах, что через них реализуются абстрактные классы?
@selfedu_rus
@selfedu_rus 2 жыл бұрын
да, в Java interface - это аналог абстрактных классов
@danilaminecraftcity
@danilaminecraftcity 2 жыл бұрын
@@selfedu_rus абстрактные классы и интерфейсы - различные понятия
@selfedu_rus
@selfedu_rus 2 жыл бұрын
@@danilaminecraftcity поэтому употребил слово "аналог"
@danilaminecraftcity
@danilaminecraftcity 2 жыл бұрын
@@selfedu_rus хорошо, я уж быть подумал, что вы умеете ввиду его полное соответствие.
@КириллЧе-я5ы
@КириллЧе-я5ы 10 ай бұрын
Именно через интерфейсы и лучше реализовывать солид философию. В плюсах к примеру есть только чистые абстрактные классы, поэтому приходится реализовываться через них. Вообще, каждому языку свойственна своя идиоматическая концепция…
@ДмитрийГрозный-ь3ш
@ДмитрийГрозный-ь3ш 2 жыл бұрын
Интерфейс и абстрактный класс в джаве две совершенно разные сущности
@КириллЧе-я5ы
@КириллЧе-я5ы 10 ай бұрын
Первый принцип - фактически о том, насколько удачно вы декомпозицировали задачу…
@vitalyvistovsky8661
@vitalyvistovsky8661 2 жыл бұрын
Ще б паттернів і побільше...
@sense3247
@sense3247 2 жыл бұрын
Solid - это только для ООП? Если я программирую, например, в процедурном стиле?
@sense3247
@sense3247 2 жыл бұрын
4:05 услышал ответ.
@КириллЧе-я5ы
@КириллЧе-я5ы 10 ай бұрын
Нет, философия солид - не только про ооп
@timatim68
@timatim68 Жыл бұрын
22:3
@timatim68
@timatim68 Жыл бұрын
08:11
@КириллЧе-я5ы
@КириллЧе-я5ы 10 ай бұрын
Ну, проект из нескольких классов как бы надо уже на масштабирование закладывать…🥴
@hazartilirot1014
@hazartilirot1014 8 ай бұрын
Мне кажется, что автор не правильно объяснил принцип подстановки Лисков.
@hazartilirot1014
@hazartilirot1014 8 ай бұрын
Прошу прощения, последний принцип тоже, мне кажется, объяснили не правильно.
@cicik57
@cicik57 Жыл бұрын
8:55 это реально применяется и делается например визитором но этот вариант тоже нарушает SRP потому что при изменении класса вам надо изменить и сам класс и его лоадер который будет брать его структуру, так что не факт что такое выделение чище по дизайну. А не вот на ходу придумалось решение что самым чистым был бы класс универсального лоадера, который через "что то типа рефлекции" если это про Жабу, смотрит структуру любого обьектаи сохраняет данные типа как JSON. Если надо сохранять не все поля то в классе прописывается какие поля надо сохранять. Не надо в лекции по SOLID говорить белиберду. Отдельно класс который сохраняет специфический обьект специфическим образом непрактично потому что у вас будет n * m таких классов где n количество классов а m виды сохранения.
@back_to_life0
@back_to_life0 Жыл бұрын
Потчем тут ява к пайтону?
@selfedu_rus
@selfedu_rus Жыл бұрын
это не про Python, а про SOLID, а SOLID - про все ООП
@back_to_life0
@back_to_life0 Жыл бұрын
@@selfedu_rus вот только это в плейлист ООП python
@selfedu_rus
@selfedu_rus Жыл бұрын
он во всех плейлистах по ООП, не только в Python
@evpatorya
@evpatorya Жыл бұрын
"принципы Солид только для программ с десятками классов. и если у вас простая программа-принципы Солид вам не нужны",..... a Few Moment Later...... у нас десяток классов из простой проги😁😁😁
@evpatorya
@evpatorya Жыл бұрын
шучу,очень круто обьяснили
Просто о SOLID (Принципы SOLID)
15:54
webDev
Рет қаралды 223 М.
Принцип подстановки Барбары Лисков - SOLID в деталях
16:04
Уголок сельского джависта
Рет қаралды 4,3 М.
1, 2, 3, 4, 5, 6, 7, 8, 9 🙈⚽️
00:46
Celine Dept
Рет қаралды 114 МЛН
Hoodie gets wicked makeover! 😲
00:47
Justin Flom
Рет қаралды 136 МЛН
Принципы SOLID / С Примерами На Python
12:36
PyLounge - программирование на Python и всё о IT
Рет қаралды 15 М.
Все о принципах SOLID
16:07
Merion Academy
Рет қаралды 35 М.
Comparable и Comparator в Java
20:55
Тимофей Коваленко
Рет қаралды 12 М.
Принцип единой ответственности. SOLID для React
13:14
Михаил Непомнящий
Рет қаралды 25 М.
SOLID Principles: Do You Really Understand Them?
7:04
Alex Hyett
Рет қаралды 206 М.
ЭТОТ Паттерн Спрашивают на 99% Собесов
14:19
1, 2, 3, 4, 5, 6, 7, 8, 9 🙈⚽️
00:46
Celine Dept
Рет қаралды 114 МЛН