ООП вопросы на юнити собеседовании

  Переглядів 42,045

Максим Крюков

Максим Крюков

День тому

Разбираем два ООП вопроса на собеседовании c# и unity3D. Чем отличается абстрактный класс от интерфейса и что такое принципы солид.
Ссылка на Discord - / discord
Группа Игроделов - special3d
Плейлист по паттернам проектирования - • Паттерны стратегия в u...
"00:00 - Введение"
"00:22 - Чем отличается абстрактный класс от интерфейса"
"03:44 - Принцип единой ответственности"
"05:55 - Принцип открытости/закрытости"
"08:40 - Принцип подстановки Барбары Лисков"
"10:42 - Принцип разделения интерфейса"
"12:15 - Принцип инверсии зависимостей"
Поддержка канала:
Patreon - www.patreon.com/user?u=32502669
В крипте:
BTC - 16WmTb4VTFGYrwEjjnMKNNMMzsMB1rPEqD
ETH - 0x8d35406f8317b846528d0a9ea4a34ce59968dff2
XRP - rLW9gnQo7BQhU6igk5keqYnH3TVrCxGRzm (TAG - 1438215071)
LTC- MNSWdzdVsUMnozSU5HhUPEscfxaUK3Fdck
#unity #солид #абстрактный класс #интерфейс #ityoutubersru

КОМЕНТАРІ: 148
@gaitavr1992
@gaitavr1992 3 роки тому
Что-то произошло при рендеринге и в видос не вошел еще одно отличие интерфейса от абстрактного класса: Интерфейс не может содержать переменные или делегаты, в отличии от абстрактного класса. Извиняюсь за казус.
@andrewmolotkoff4231
@andrewmolotkoff4231 3 роки тому
Все равно, ТЫ ЛУЧШИЙ!
@evgenkonyshock4913
@evgenkonyshock4913 2 роки тому
Расскажи про лучшие практики применения тестов в юнити
@jobpatch3397
@jobpatch3397 2 роки тому
с C# 8 интерфейсы всё таки испытали некоторые изменения.. docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/interface docs.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-8#default-interface-methods с Unity 2020.2 должна быть поддержка C#8 - docs.unity3d.com/2020.2/Documentation/Manual/CSharpCompiler.html p.s Видео получилось отличное)
@gaitavr1992
@gaitavr1992 2 роки тому
Во второй ссылке написано, что не поддерживается
@jobpatch3397
@jobpatch3397 2 роки тому
@@gaitavr1992 , вторая ссылка это Whats new C# 8? - а что там имено указано не поддерживается? там вроде ничего нету про "не поддерживается"
@AlexStraga
@AlexStraga 3 роки тому
Спасибо за ролик. Часть этого я уже знаю, но вот научится это использовать еще предстоит )
@thornonthehead
@thornonthehead 3 роки тому
Спасибо тебе, мужик! По-настоящему толково излагаешь - с практическими примерами и внятным объяснением без лишней воды. Сколько не пытался вообразить себе ситуацию применения принципа DIP, никак не выходило чего-то близкого к реальности, а тут отличный живой пример и доходчивое объяснение - сразу все разложилось по полочкам! Делай еще, будем лайкать и комментить! Успехов тебе, человечище!
@user-og8xh8dp9k
@user-og8xh8dp9k Рік тому
Чистая архитектура является хорошим примером для DIP
@user-zd4yn3zd8n
@user-zd4yn3zd8n 2 роки тому
Очень классное и полезное видео. Вовремя я нашёл данный канал. Спасибо Вам!
@voltionboal9390
@voltionboal9390 2 роки тому
Спасибо, очень полезно и познавательно, и отдельное спасибо за примеры)
@stas_etc
@stas_etc 3 роки тому
Отличный ролик. Спасибо что делитесь опытом.
@VADIM-SOLOV
@VADIM-SOLOV 2 роки тому
Потрясающее видео! Спасибо!
@user-ug2qg4xq2x
@user-ug2qg4xq2x 2 роки тому
Отличный видос, ОЧЕНЬ доходвчиво, спасибо!
@user-tt2vc1sv8g
@user-tt2vc1sv8g 2 роки тому
Видео супер, спасибо! У нас на проекте тесты используются для валидации префабов юнитов - проверяем наличие анимаций, ивентов анимаций и т.д.
@herakros
@herakros 3 роки тому
Спасибо за ролик!
@user-nm5zh2zb8c
@user-nm5zh2zb8c 3 роки тому
Отличное видео. Хорошие примеры. Всё понятно и доступно.
@user-sf9ib9wj7j
@user-sf9ib9wj7j 3 роки тому
Полезно! Спасибо, Максим!
@cat_ashere
@cat_ashere 2 роки тому
Очень сильно не хватает вот такого понятного контента по чистой архитектуре, и довольно важным вещам, как SOLID и OOP в частности. Да еще вполне себе таким приятным языком. Хотя, в силу малого опыта, конечно, понятно не все, но уже куда более полезно, чем многое из того, что было прочитано до. В общем, большое спасибо за ролик. =)
@nikolai4660
@nikolai4660 3 роки тому
То чувство, когда собес был неделю назад и был задан вопрос про отличие интерфейса от абстрактного класса) Форменное совпадение UPD: Как всегда все на высоком уровне! Стабильно черпаю информацию с этого канала, пересматривая ролики раз за разом)
@iluxandroChannel
@iluxandroChannel 3 роки тому
С таким классным объяснением, любое видео будем ждать от вас! Ещё такой вопрос, как от новичка, думаю будет интересен не только мне, какой уровень знаний требуется от Джуна юнити? И последний вопрос, видел у вас разбор проекта подписчика, будет ли в дальнейшем данная рубрика и можно будет ли в теории прислать вам репозиторий?
@gaitavr1992
@gaitavr1992 3 роки тому
Уровень знаний одним предложением не описать. А рубрику продолжится, она самая популярная на канале
@KraGenGames
@KraGenGames 2 роки тому
как успехи?
@destar1212
@destar1212 3 роки тому
Спасибо большое за ролик
@alexsklyarov6792
@alexsklyarov6792 3 роки тому
Привет, хороший ролик :). Запиши материал про написание тестов.
@sadamskech6351
@sadamskech6351 2 роки тому
Максим, вы мощный мужик! Очень качественный контент. Да, и весь канал.
@starfall7431
@starfall7431 2 роки тому
Спасибо за лаконичное и информативное обьяснение! О солид на ютубе инфы масса, но, лично для меня, твой видос оказался лучшим из имеющихся и самым исчерпывающим.
@user-mw7mg3zq9f
@user-mw7mg3zq9f 3 роки тому
Спасибо за видео
@arttyucb3559
@arttyucb3559 3 роки тому
Идеальный контент для "продолжающих". 1) На пальцах объяснен каждый принцип 2) Показаны примеры применения 3) Рассказано, в каких именно случаях рационально не придерживаться
@gaitavr1992
@gaitavr1992 3 роки тому
Отличный термин
@user-nm5zh2zb8c
@user-nm5zh2zb8c 2 роки тому
Всё по делу. Хорошие примеры.
@talisman1104
@talisman1104 Рік тому
Жесть как всё компактно. Каждую секунду приходилось останавливать, чтобы успевать записывать информацию. За 14 минут уложено примерно 1,5 часа лекций от других ютуберов. Круто
@user-nv4bi6jk1b
@user-nv4bi6jk1b Рік тому
Чётко, коротко и понятно пояснил за SOLID. Но нужно было бы это в название написать. Случайно нашёл твоё видео и не знал, что там будут принципы SOLID
@shampussyk
@shampussyk 2 роки тому
Очень полезное видео, лайк.
@user-lb1bb8dc7g
@user-lb1bb8dc7g 3 місяці тому
Всё по делу , без воды. Дико плюсую.
@NoldoWalker
@NoldoWalker 2 роки тому
Очень грамотный разбор, в целом я и так это знал, но теперь знаю ВПОЛНЕ. :)
@Arko698
@Arko698 3 роки тому
Топ рубрика
@varan9412
@varan9412 2 роки тому
Супер, спасибо
@dzmitriyskarakhodau3176
@dzmitriyskarakhodau3176 3 роки тому
Шикарно
@finif9192
@finif9192 3 роки тому
Лучший)
@konstantinkolmogortsev8724
@konstantinkolmogortsev8724 2 роки тому
Ты лучший!
@dmitrykot6185
@dmitrykot6185 2 роки тому
Спасибо!
@ghostintheshell934
@ghostintheshell934 2 роки тому
Полезно как и абсолютное большинство видео на канале, лучше пересмотрите 2-3 раза)
@user-yt9un2uo6r
@user-yt9un2uo6r 2 роки тому
Хорошое видео.
@user-fd3nw3un7v
@user-fd3nw3un7v 3 роки тому
спасибо!
@ohuyennyparen1873
@ohuyennyparen1873 3 роки тому
Материал - золото!
@andyunity
@andyunity 3 роки тому
Никогда не оставляю комменты, но видосы просто топчик!!! Особенно вкатили видосы по шейдерам, это шедевры! Можешь больше типовых вопросов на мидл уровень? Было бы неплохо ещё всяких каверзных вопросиков насыпать) Спасибо!
@gaitavr1992
@gaitavr1992 3 роки тому
Видосы по шейдерам собирают намного меньше просмотров, и что самое главное время просмотра низкое. Большинству интересно не то, как это делать, а что в итоге получится
@andyunity
@andyunity 3 роки тому
@@gaitavr1992 спасибо за ответ! Если надумаешь замутить свой курс по шейдерам, проектированию или любой другой теме, запиши, пожалуйста, мой контакт. Буду в первых рядах ;) P.S. А вообще можно тебя в линке добавить или ещё где?)
@gaitavr1992
@gaitavr1992 3 роки тому
Добавляй
@andyunity
@andyunity 3 роки тому
@@gaitavr1992 не могу найти, не выдаёт в поиске, скинь, пожалуйста, ссылку
@gaitavr1992
@gaitavr1992 3 роки тому
Я думал линк - linkedin. В фейсбуке тоже есть
@amni5tianone263
@amni5tianone263 2 роки тому
Спасибо
@user-mw2cd3lu8n
@user-mw2cd3lu8n 2 роки тому
Интересно было бы послушать по корутины, их чрезмерное использование и как этого избегать. Лично я видел корутину запускающей Idle цикл которого ничего не делал, а просто крутился до тех пока стейт не сменится. Ну а еще и действия типа Move, Run и т.д. тоже все в корутинах были.
@thewebsapiens
@thewebsapiens Рік тому
Познавательно. Но обратил внимание - в коде частенько используются Async. Тоже попробовал Async. В WebGL не работает категорически. Пришлось от новомодного асинхронного возвращаться к старым добрым сопрограммам. Они работают. А интересно на мобильных платформах Async-код работает?
@malvislightfadynightgames2925
@malvislightfadynightgames2925 2 роки тому
Тесты в Unity ты имеешь ввиду TestRunner или UnitTests?
@andrewmolotkoff4231
@andrewmolotkoff4231 3 роки тому
Аригато, Сенсей!
@gaitavr1992
@gaitavr1992 3 роки тому
Онэгаи симас
@inetto84
@inetto84 3 роки тому
Отличное, видео. Спасибо. Такой вопрос: как в геймдеве с unit тестами? Я когда начинал свой проект, тоже их писал, но потом отказался, потому что тратил на них очень много времени (видимо, из-за плохой архитектуры проекта). Знаю, что в "обычном" программировании без них никуда, а как дела с ними в игровых компаниях?
@gaitavr1992
@gaitavr1992 3 роки тому
Сложно обстоят дела) По чуть-чуть пытаемся писать и уже много раз они спасали от сломанной главной ветки
@inetto84
@inetto84 3 роки тому
@@gaitavr1992 Мне тесты, часто помогали избегать глупых или не очевидных ошибок, но из-за плохо стиля программирования (большой связаности классов и постоянного рефакторинга) и постоянной смены функционала, они постоянно ломались. В общем, я опустил руки и сейчас на свой страх риск пишу без них. Знаю, что это не хорошо, но пока время дороже:)
@ArcadeMdns
@ArcadeMdns 3 роки тому
Отличное видео. Мог бы ты когда-нибудь рассказать про стандартные вопросы по математике для игровых разработчиков, задаваемые на собеседованиях?
@gaitavr1992
@gaitavr1992 3 роки тому
Кстати редко, что-то выходит за рамки перемножения векторов. Но в целом идея хорошая, я думаю будет полезно
@83partizan
@83partizan Рік тому
"Виртуальные методы являются прямыми нарушением лисков" - как-то очень громко сказано..
@justlama0
@justlama0 3 роки тому
Кул!
@yummybunny7351
@yummybunny7351 3 роки тому
Максим, вижу ты используешь и Visual Studio и Rider. По умолчанию в Visual Studio ключевые слова return, switch, case и т.п. - фиолетовые и не сливаются с другими ключевыми. В Rider же они синие. Не могу найти эту настройку в Color Scheme Райдера. Не подскажешь как в Райдере это исправить? (чтобы return фиолетовым стал)
@gaitavr1992
@gaitavr1992 3 роки тому
Я использовал VS тему вроде бы, сразу при установке
@romanbessarab4520
@romanbessarab4520 2 роки тому
Доброго дня. Підкажіть назву книги, яку ви озвучили у відео. Дякую.
@LegionerII
@LegionerII 3 роки тому
Было интересно послушать. Есть вопрос, откуда была получена информация, что виртуальные методы и свойства противоречат LSP? Спасибо.
@gaitavr1992
@gaitavr1992 3 роки тому
Из опыта использования
@LegionerII
@LegionerII 3 роки тому
@@gaitavr1992 в этом плане, на мой взгляд, опыт спорный )) но в целом, в видео здравые мысли и рассуждения
@gaitavr1992
@gaitavr1992 3 роки тому
@@LegionerII конечно спорный, поэтому я в видео сказал сразу, что отказываться от virtual не стоит
@MrArtrynk
@MrArtrynk 3 роки тому
Лайк и коммент: а вот тут как жуниор ушел чесать репу. Но очень полезно!
@malvislightfadynightgames2925
@malvislightfadynightgames2925 2 роки тому
Если ты не понял о чём здесь шла речь, значит ты не Junior.
@MrArtrynk
@MrArtrynk 2 роки тому
@@malvislightfadynightgames2925 мне вобще не важно, жуниор я или не жуниор, я тех арт , мне важно грамотно взаимодействовать с клиентскими программистами, а длиной я не меряюсь, это для озабоченных.
@malvislightfadynightgames2925
@malvislightfadynightgames2925 2 роки тому
@@MrArtrynk длиной чего?
@MrArtrynk
@MrArtrynk 2 роки тому
@@malvislightfadynightgames2925 не важно, зеленого кита)
@a.danilenko
@a.danilenko 8 місяців тому
В разделе про принцип SRP увидел грубое нарушение принципа ISP. Таймкод - 4:44 В принципе разделения интерфейсов речь идет о интерфейсе в широком смысле слова - как об API предоставляемый абстракцией/классом, а не о конкретных интерфейсах в языке C#. Для джунов и слабых мидлов, конечно, уровень изложения материала в ролике можно считать сносным, но с профессиональной точки зрения некоторые моменты недопустимо слабые.
@oleksandrbrahynets9595
@oleksandrbrahynets9595 7 місяців тому
Де конкретно там порушення ISP?
@unitydeveloper8703
@unitydeveloper8703 Рік тому
Кто использует тесты в юнити? При каких случаях, для каких механик?
@kiteva7087
@kiteva7087 2 роки тому
топ
@Favourite1One
@Favourite1One 2 роки тому
Очень годный материал. Спасибо. А, вообще, было бы интересно услышать о другой , порой, можно сказать бытовой, стороне собеседования и причинах приема/не приема на должность. Например, разработчик слишком опытный и текущий лид ищет причины отказа боясь конкуренции. Либо слишком быстро учится, судя по предыдущему опыту, и по мнению собеседующих, очень скоро достигнет лимита возможностей в компании и убежит. Наиболее общая формулировка вопроса, наверное, - нетехнические стороны собеседований, их значимость по отношению к техническим. Как-то так.
@gaitavr1992
@gaitavr1992 2 роки тому
Это больше тема каких-то подкастов. Пока цель канала - повышать квалификацию разработчиков, которые уже начали свой путь
@snatvb
@snatvb 2 роки тому
А разве не добавили в C# дефолтную реализацию у интерфейсов для методов? PS смотрю тебя, потому что интересно, сам на шарпах не прогаю почти)
@gaitavr1992
@gaitavr1992 2 роки тому
В 8й шарп добавили, а в юнити нет
@tomasgammister5776
@tomasgammister5776 3 роки тому
Все это хорошо. Но на практике в движке когда начнем разбирать ?
@gaitavr1992
@gaitavr1992 3 роки тому
Что имеется ввиду - на практике в движке?
@rusytop4910
@rusytop4910 2 роки тому
Привет, ты прикольно объясняешь, у тебя есть возможность объяснить как правильно использовать ООП, я понимаю что это, но плохо понимаю как классно и правильно это использовать.
@gaitavr1992
@gaitavr1992 2 роки тому
Привет, начни с простоты классов. Пусть они отвечают только за одну задачи. Если есть общее состояние и поведение - сделай родительский класс. Не делай публичные поля и не раскрывай реализацию сторонним классам
@andrey_aka_skif
@andrey_aka_skif 3 роки тому
Сначала подумал, что странно рассматривать базовые вещи типа «принципа работы корутины и порядка вызовов методов у MB» после высшего пилотажа с разбором паттернов, но потом вспомнил ролик с «простым» счетчиком fps :D
@gaitavr1992
@gaitavr1992 3 роки тому
После ролика про async, await многие просили рассмотреть корутину в сравнении
@andrey_aka_skif
@andrey_aka_skif 3 роки тому
@@gaitavr1992 это ни в коем случае не претензия. Упомянутый ролик про счетчик отлично демонстрирует, что в базовых вещах запросто делаются самые неожиданные и фундаментальные ошибки. Теперь буду с нетерпением ждать обещанный ролик!
@ithangover589
@ithangover589 2 роки тому
За весь свой опыт только в одном проекте юзали тесты а это около 5 лет 😅
@user-yx5mb4sz9t
@user-yx5mb4sz9t 2 роки тому
Все отлично, вот только быстро и информацию не успеваешь осмыслить и запомнить.
@romanbessarab4520
@romanbessarab4520 2 роки тому
Що за книга?
@WinniePooh64
@WinniePooh64 3 роки тому
Пять лет сидел на плюсах, постепенно осваиваю C# и Unity. По привычке вошел в ступор на вопросе: чем отличается абстрактный класс от интерфейса: так и хотелось заорать в экран - ничем, интерфейс это и есть чисто виртуальный (читай абстрактный) класс! Но тут дошло, что это уже не плюсы...
@gaitavr1992
@gaitavr1992 3 роки тому
Я тоже начинал с плюсов
@Pravda-bw3tj
@Pravda-bw3tj 2 роки тому
блин я константы также пишу через статику, правда нотацию Капсом не понимаю.
@servalstar
@servalstar 3 роки тому
Послушать бы запись реального собеседования.
@gaitavr1992
@gaitavr1992 3 роки тому
Как-нибудь дойдем, это хорошая идея)
@user-hr2dk6jy1k
@user-hr2dk6jy1k 2 роки тому
Я люблю спрашивать зачем мне нужна инкапсуляция и какие проблемы она решает... В ответ часто слышу заученные стишки про сокрытие и про private... и по большей части продают ценности абстракции...
@incole7041
@incole7041 2 роки тому
Ну с инкапсуляцией всё просто - она даёт возможность иметь классу согласованное внутреннее состояние. Если состояние может быть изменено из вне, ты не можешь гарантировать его согласованность, а следовательно, не можешь гарантировать коректное исполнение. По сути, это защита, чтобы не выстрелить себе в ногу, но, например, на ней строится DDD парадигма, в которой очень приятно писать код, а потом - его читать.
@DmitryTimofeev_general
@DmitryTimofeev_general 3 роки тому
+
@user-lt7rn4of7y
@user-lt7rn4of7y 2 роки тому
И интерфейс и абстрактный класс (АК) наследуются. И интерфейс и абстрактный класс могут иметь методы реализации по умолчанию. Оба не поддерживают утиную типизацию. Интерфейсу однако позволено множественное наследование в C#. АК может иметь внутреннее состояние, интерфейс все-таки нет. Плюс в АК действуют всякие правила наследования: ложка от кружки, кружка от теплохода и т.д. Можно сказать что интерфейс это сильно урезанный АК.
@gaitavr1992
@gaitavr1992 2 роки тому
Реализация интерфейса по умолчанию появилась в 8м шарпе. Вы его используете в юнити? Интерфейс все таки реализуется, там нечего наследовать, хоть и двоеточие стоит
@Eduard02834
@Eduard02834 Рік тому
учите насколько возможно глубоко эти вопросы, с точки зрения практики, я уже 5 й собес праваливаю ....
@slavamorozovyoutube
@slavamorozovyoutube 5 місяців тому
Половину сказанного вообще не использовал никогда. И делаю игры с прекрасной лёгкостью и скоростью, и ФПС никогда не был ниже 300.
@daniilparokonnyy7980
@daniilparokonnyy7980 3 роки тому
Можно еще про DIY Containers рассказать :)
@prod.7175
@prod.7175 2 роки тому
Dependency Inversion - DI - инверсия управления
@user-mw7mg3zq9f
@user-mw7mg3zq9f 2 роки тому
"Звучит очень просто..." А, да? ААААААААА
@KirillDoctor2105
@KirillDoctor2105 3 роки тому
рейд от GameDev
@user-xz5ce7jp8f
@user-xz5ce7jp8f 3 роки тому
like, repost.
@user-uf5kg4ji9w
@user-uf5kg4ji9w 2 роки тому
да
@il35215
@il35215 2 роки тому
Ох, неужели еще где то на собеседованиях бывают такие вопросы?! Хотел бы я что бы мне такие задавали :))) Меня больше раздражает когда спецы по хантингу требуют решения олимпиадных задач у вайтбоарда и пофиг что ты никогда не будешь делать ничего даже отдаленно похожего на такую задачу. Так мне в кампусе майкрософт в редмонде нагрузили задачку на 30 минут которую я даже за компом дня два потом решал, а решение которое судя по всему они хотели увидеть подсказал доктор наук по математике и то не сразу )). Особенно смешно становится когда ты видишь что половина кампуса это индусы которые такой код пишут что ты там SOLID, KIS, DRY и так далее днем и с факелом не сыщешь, и вот спрашивается что это за методологии такие по подбору персонала? У меня друг что бы сменить работу (будучи сеньером с 10 летним опытом в экспедиа) 2 месяца олимпиадные задачки сидел решал и из 25 компаний только 3 дали офер. В общем радуйтесь если у вас на собеседовании спрашивают чем интерфейс отличается от абстрактного класса, потому что вы в раю и может быть куда как хуже!
@gaitavr1992
@gaitavr1992 2 роки тому
У меня тоже друг хочет попасть в гугл и постоянно штудирует задачи
@behappianstudio3576
@behappianstudio3576 3 роки тому
SOLID это, конечно, хорошо, но а мы будем дальше придерживаться принципа KISS))) (нет)
@gaitavr1992
@gaitavr1992 3 роки тому
Отличная идея, кисс как раз сдерживает поток абстракции из трех принципов солид)
@behappianstudio3576
@behappianstudio3576 3 роки тому
@@gaitavr1992 сделаю вид, что я это и имел в виду!
@theoctan8569
@theoctan8569 2 роки тому
Нее, будем дальше лепить синглтоны) X_X
@behappianstudio3576
@behappianstudio3576 2 роки тому
@@theoctan8569 не ругайся так больше
@ProkerKusaka
@ProkerKusaka 3 роки тому
Только паттерн PIDOR, остальное не нужно
@KadykovDenis
@KadykovDenis Рік тому
"За плечами 5 лет опыта, но они не знают зачем нужен интерфейс, не совсем понятно что они делали эти пять лет, ну да ладно" - господи, очередное чудо которое сейчас всех научит. Ну так вот, если человек не знает что такое интерфейс и при этом он пять лет программист то это означает что он умён и парадигмой интерфейсов он пользуется, просто он сам её изобрёл, просто не использует его в синтаксисе. Можно подумать "-это как?" так это вот так, в юнити реализовывать интерфейс можно не только через код. Доброе утро!
@oleksandrbrahynets9595
@oleksandrbrahynets9595 7 місяців тому
Яким чином інтерфейс можна реалізувати не через код?
@user-rh8ut2lf8o
@user-rh8ut2lf8o 2 роки тому
Классно и четко. 👍 Просьба про сопрограммы, осветить необходимость кеширования YieldInstruction.
@user-nh1lp8xt4j
@user-nh1lp8xt4j 2 роки тому
Интерфейс может содержать конкретную логику
@gaitavr1992
@gaitavr1992 2 роки тому
Я уже отвечал на подобный комментарий
@tomasgammister5776
@tomasgammister5776 3 роки тому
Я как начинающий, ничего кроме текста с горой теории ничего не понял например
@gaitavr1992
@gaitavr1992 3 роки тому
Это видео для тех, кто уже ходит по собеседованиям
@tomasgammister5776
@tomasgammister5776 3 роки тому
@@gaitavr1992 все равно. Понимаю что полезно, но понять пока в таком режиме не получилось. Лайк и подписка. Может сможете это объяснить это для более не подготовленных ?...
@gaitavr1992
@gaitavr1992 3 роки тому
Солид не нужен совсем начинающим, он только пудрит мозг и отвлекает от рабочего кода и умения решать задачи. Ну а отличие интерфейса и абстрактного класса это уже инструментарий языка и его нужно знать
@user-oe9bj3ww2g
@user-oe9bj3ww2g 2 роки тому
"Абстрактный класс наследуется, а интерфейс реализуется" - Что?!?
@gaitavr1992
@gaitavr1992 2 роки тому
Почитайте про realization и generalization при построении uml диаграмм
@tomasgammister5776
@tomasgammister5776 3 роки тому
Это самое не освещённое место в сети...
@tomasgammister5776
@tomasgammister5776 3 роки тому
я про общую тему проектирования ))
@JackFastGame
@JackFastGame 2 роки тому
5:15 Автор здесь сам себе противоречит. То увеличивается скорость разработки, то уменьшается.
@gaitavr1992
@gaitavr1992 2 роки тому
Никакого противоречия, если у вас есть приемлемый опыт разработки, то должно было быть ясно. Если цель придраться без понимания темы, то мимо
@JackFastGame
@JackFastGame 2 роки тому
@@gaitavr1992 Как следование принципам SOLID уменьшает скорость разработки? Улучшение сопровождаемости кода как раз-таки есть одна из целей SOLID, что наоборот ускоряет разработку при расширении проекта.
@gaitavr1992
@gaitavr1992 2 роки тому
Правильно, игра в долгую. При прототипировании скорость разработки снижается
@saurontheblack6566
@saurontheblack6566 Рік тому
Вообще не верные вопросы, вопросы должны быть из темы "Почему Юнити помойка?". Это очень большой класс вопросов которые расширяются и увеличиваются при изучении такой корявой, больной и хромой недосистемы как Юнити. Вот только малая часть вопросов по этой теме: - Почему Юнити дает пользователю загружать модели и текстуры в редакторе, но не дает этого делать просто в билде? - Почему интерфейс юнити построен коряво, с заданием фактических размеров элементов, а не относительных как в том же CSS, WPF, Авалонии и бесконечном множестве других вменяемых систем? - Почему Юнити является не потокобезопасным, однопоточным убожеством тормозящим игровую индустрию? - Почему Юнити изобрело свои корявые и тормозные event-ы вместо того чтобы использовать стандартные? - Почему система ввода у Юнити настолько убогая для андройда что игры с отзывчивым и быстрым управлением просто нельзя создать из-за ощутимого инпут лага? - Почему Юнити выкупает чужие ассеты вместо того чтобы базовые вещи изначально предоставить пользователю? - Почему у Юнити одна из самых худших камер управления в редакторе? Для примера управления можно посмотреть на тот же Blender с удобным вращением камеры вокруг объекта, а не вокруг камеры как сделали эти три школьника - Почему Юнити не разрабатывает на своем убогом движке игры как делает это тот же самый Анреал? Неужели эти три школьника поняли что создали самый дерьмовый движок на свете? - Кстати сама Юнити на одном месте вертела все принципы Солид) Она по факту должна была дополнять низкоуровневые API по типу ДиректХ или ОпенГЛ, а она в наглую тупо их заменяет своей корявой реализацией. Почему? - Почему дегенеративные разработчики плодят своей мусорной программкой кучу мета данных, вместо того чтобы создать 1 файл для конкретных типов файлов? - Почему Юнити урезает системный класс и вырезает оттуда стандартный сериализатор? - Почему Юнити не интегрировала возможность подключать без проблем nuget библиотеки? И еще множество вопросов почему Юнити бесполезный кусок кода.
@oleksandrbrahynets9595
@oleksandrbrahynets9595 7 місяців тому
Знайшов відповіді на ці питання, чи вони риторичні?
@alexspeleers
@alexspeleers 3 роки тому
ну шо - лайкайте кто тесты использует в юнити (((((: и дизлайкатей если не используете
Паттерн состояние в unity 3D
12:40
Максим Крюков
Переглядів 20 тис.
маленький брат прыгает в бассейн
00:15
GL Show Russian
Переглядів 2,3 млн
КИРПИЧ ОБ ГОЛОВУ #shorts
00:24
Паша Осадчий
Переглядів 6 млн
Разбираем основы Kafka и RabbitMQ
26:54
Digital train | Alex Babin
Переглядів 8 тис.
10 глупых вопросов РАЗРАБОТЧИКУ ИГР
20:33
Вопросы собеседования на C# программиста
21:04
Програмысли Влог
Переглядів 60 тис.
Паттерн декоратор в unity3D
8:00
Максим Крюков
Переглядів 18 тис.
Что нужно знать Junior C# разработчику?
11:50
ExtremeCode
Переглядів 270 тис.
Принципы SOLID | На примере Python
23:56
Ilya Krukowski
Переглядів 21 тис.