Откинулся на спинку, сидя на табуретке, но не упал, потому что благодаря паттерну стратегия смог прямо в рантайме на лету заменить логику табуретки на логику кресла.
Нет, конечно. Использование интерфейсов по назначению это описание типа и абстрагирование от конкретных объектов. Для примера можно взять видос на каком-то сервисе. Предположим, что у его можно посмотреть, можно прослушать аудио(в наушниках во время пробежки), можно оставить комментарий. Этот функционал находится в разных модулях системы. Тогда интерфейсы будут следующее: interface IVideo { public void show();} interface IAudio { public void sound();} interface IHasComments { public void comment(string comment);} Тогда подсистема отвечающая за проигрывания звука принимает на вход объект, имплеменирующий интерфейс (реализующий тип) IAudio. Примерно так: void play (IAudio someObject) { someObject.sound();} И ей, по большому счету, все все равно видео это или аудио или что-то еще, главное чтобы это что-то имело методы описанные в интерфейсе. В данном случае метод sound. Другими словами аудиоплеер принимает на вход метода play некий объект типа аудио, что еще там есть кроме возможности проиграть аудио, и как конректно он проигрывает аудио аудиоплееру пофиг. То же самое с комментариями. Чуть более сложный пример, у нас есть аудиозапись и мы ходим её прослушать через вебморду для роликов. Тогда мы реализуем поведение типа видео таким образом, чтобы метод show показывал статичную картинку и проигрывал аудио. Примерно так: class AudiobookVideoWrapper : IVideo { IAudio audio; ... public void show() { this.showStaticPicture(); this.audio.sound(); } ... }
@@EshkinKot1980 Я всё равно не понял, по моему Madgel _ всё правильно сказал(а). Если мы внедряем зависимость по интерфейсу и юзаем эту зависимость только через методы интерфейса, то это стратегия?
@@TKSherlock Не все паттерны это стратегия, а интерфейсы используются почти во всех паттернах. Более того интерфейсы можно и нужно использовать даже без паттернов и без внедрения зависимостей.
- Стратегия (шаблон программирования) - Мотивация программировать - Порно видео онлайн бесплатно - Winderton - Что делать когда всё заебало - My Little Pony в кино(2017) Хорошие рофлы, я оценил.
После этого ответа, его никто не видел. Поговаривают, что Артем сам пришел к нему в ночи. Задал ему тот проклятый вопрос и схватив, взлетел на стратосферу. Тем самым убив его.
инкапсуляция - это в первую очередь АБСТРАГИРОВАНИЕ ... какое же количество тупорылых отбитых на всю тупую свою бошку кодеров и учителей и преподов я повидал на своём веку.. СОВЕРШЕННО НИХЕРА НЕ ПОНИМАЮЩИХ что из их рта вылетает.. и соответственно после них такие же ученики-инвалиды умственные выходят.. и уже 20 лет эта цепочка никак не прервётся )))))))))))))))))))))) почему не начать учить ООП с ПРОЕКТИРОВАНИЯ!!! чтобы люди понимали - НАХЕРА ВООБЩЕ НУЖЕН ООП.. ООП надо учить уже ПОСЛЕ того как вы поймёте ЗАДАЧИ ПРОЕКТИРОВАНИЯ )))) вот вам самый яркий пример: для чего нужно колесо автомобилю.. ответ: чтобы крутиться... и вот отсюда далее не зная практики представте что вы отлично понимаете что надо поворот проходить дрифтом, подгазовывая на задней передаче )))) --- так же и в ООП.. учат что колесо нужно чтобы крутиться - ДА НЕТ ЖЕ БЛЯДЬ ДЕБИЛЫ-УЧИТЕЛЯ... колесо нужно не для того чтобы крутиться ... Сколько же тупорылых просто наглухо отбитых людей лезет туда, куда им просто нельзя ни при каких условиях лезть.. особенно в процесс обучения.. сколько судеб загубленных, сколько светлых голов сошло с дистанции из-за этих выродков-преподов ))) з.ы.: может сложиться впечатление что я автора гноблю... не, это я о своём о наболевшем )) автор молодец редкостный, что не бухает, не колется - а пытается познавать прекрасное ))
Орнул с воркера и его работы))) PS: Помните, когда приходите на собеседование и Вас спрашивают о том какие паттерны вы знаете и используете. Лучше начните со стратегии "HandJob, FootJob", а не с синглтона, когда вы примените стратегию, интервьюеру будет похуй на какие-то паттерны=)
Ну все понятно: Класс Worker - девушка, выполняющая определенные услуги за деньги Класс Handjob - это понятно - ананизм Класс Footjob - происходит таким же образом, как и handjob, только ногами Стратегия - взаимозаменять Handjob с помощью Footjob в записимости от сексуальных предпочтений.
Чувак, я тебя люблю! Не мог бы ты снимать ну хоть немножечко почаще, пожалуйста. Ещё у тебя голос классный и такая ехидная интонация, будто ты ржешь, это странно, но кайфово. Давай видосики, про что хочешь (:
Т.к. все классические "шаблоны проектирования" - это про имитацию функционального программированиения с помощью ООП, то стратегия, как идеологический предок понятия интерфейса в VB, Java и C#, тут должна быть на первом месте.
Наконец из этого видоса узнал, что пишут видосы на этот канал 2 чела, даже имена их узнал. Коля и Артём 3>. А то думал то ли у меня шиза, то ли микрофон меняет этот чел постоянно.
Отличный видос. Если кто-то считает, что недостаточно разобрался, то могу посоветовать первую главу книги Head First: "Паттерны проектирования". Отличный пример с практикой.
Все что находится в фигурных скобках это и есть инкапсуляция, {капсула} - оболочка. Из книжки Шилдта можно узнать что фигурные скобки инкапсулируют все что в них есть. А все что не помечено пабликом скрывается от "вне скобок". Хош скрыть кусок кода? Возьми его в фигурные скобки.
Вы будете смеятся, но это реально производит впечатление на собеседующих, когда перечисление знакомых паттернов начинаешь со стратегии, а не адаптера/синглтона/фабрики. Причем, иногда его даже не просят объяснить. Спасибо за видос.
можешь поставить видео на паузу и сделать вид, что изучаешь схемку)).... меня порвало, я таки поставил сначала на паузу, потом запустил видео дальше и услышал это.
Кстати по поводу инкапсуляции...я ее представлял всегда как прием создания каких-то библиотек на которые опираются другие прогеры, не особо парясь как она реализована(через што с точностью до символа ' '). Так вот не кажется ли вам что термин "сокрытие" встречаемый в описании данного подпункта объектной парадигмы в различных источниках связан непосредственно с идеей выделения 2х вещей: бизнес логики и ее реализации, (с явным подчеркиванием того что именно бизнес-логика должна переходить от прогера к прогеру, а никак не реализация ) а не к непосредственному сокрытию данных, как вы упоминали в видосе про ООП? Да и "объединение данных и методов в классе" как то слишком очевидно для такого важного принципа который в случае моего понимания решает проблему написания велосипедов...
Добрый день.Скажите, как написать батник или скрипт, который ищет заданое слово в любой программе(консоли игры) и совершает закрытие активного окна или убийство процесса?
А можешь рассказать про стек и кучу? Сколько не читал, сколько не смотрел, не искал, ВЕЗДЕ это пытаются объяснить люди, которые сами не понимают что это.
@@playerkilleryakutia9415 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Strategy { class BlowJob : IJob { public void DoJob() { Console.WriteLine("Blow Job"); } } } вот, реализовал в runtime
1:25 откинулся на спинку табуретки и только потом вспомнил, что у табуреток нету спинки
не та стратегия табуретки попалась
Откинулся на спинку, сидя на табуретке, но не упал, потому что благодаря паттерну стратегия смог прямо в рантайме на лету заменить логику табуретки на логику кресла.
не упал, потому что это была не табуретка, а абстрактная фабрика
Тоесть, стратегия это просто использовать интерфейс по назначению?
Да!!!!!
Нет, конечно. Использование интерфейсов по назначению это описание типа и абстрагирование от конкретных объектов.
Для примера можно взять видос на каком-то сервисе. Предположим, что у его можно посмотреть, можно прослушать аудио(в наушниках во время пробежки), можно оставить комментарий. Этот функционал находится в разных модулях системы. Тогда интерфейсы будут следующее:
interface IVideo { public void show();}
interface IAudio { public void sound();}
interface IHasComments { public void comment(string comment);}
Тогда подсистема отвечающая за проигрывания звука принимает на вход объект, имплеменирующий интерфейс (реализующий тип) IAudio. Примерно так:
void play (IAudio someObject) { someObject.sound();}
И ей, по большому счету, все все равно видео это или аудио или что-то еще, главное чтобы это что-то имело методы описанные в интерфейсе. В данном случае метод sound.
Другими словами аудиоплеер принимает на вход метода play некий объект типа аудио, что еще там есть кроме возможности проиграть аудио, и как конректно он проигрывает аудио аудиоплееру пофиг.
То же самое с комментариями.
Чуть более сложный пример, у нас есть аудиозапись и мы ходим её прослушать через вебморду для роликов. Тогда мы реализуем поведение типа видео таким образом, чтобы метод show показывал статичную картинку и проигрывал аудио. Примерно так:
class AudiobookVideoWrapper : IVideo
{
IAudio audio;
...
public void show() {
this.showStaticPicture();
this.audio.sound();
}
...
}
@@EshkinKot1980 Я всё равно не понял, по моему Madgel _
всё правильно сказал(а). Если мы внедряем зависимость по интерфейсу и юзаем эту зависимость только через методы интерфейса, то это стратегия?
@@TKSherlock Не все паттерны это стратегия, а интерфейсы используются почти во всех паттернах. Более того интерфейсы можно и нужно использовать даже без паттернов и без внедрения зависимостей.
какое-то инкапсулированное определение:D не проще ли сказать:
"стратегия это просто реализация полиморфного поведения. "
- Стратегия (шаблон программирования)
- Мотивация программировать
- Порно видео онлайн бесплатно
- Winderton
- Что делать когда всё заебало
- My Little Pony в кино(2017)
Хорошие рофлы, я оценил.
Вы прекрасны, только что дочитал книгу по паттернам и ваше видео более проще и доступнее описывает Стратегию. Спасибо парни)
что за книгу читал ? :)
@@scolopendrachilopoda9704 возможно Head First Паттерны.
Когда пришло уведомление, что вышло видео, я подумал, это глюки... А неееее))) Наконец-то, дождались)))
Пожалуйста, снимите новые ролики про паттерны. У вас самая классная подача а главное все понятно и без нудятины.
Самое гавняное видео про хенджоб и футджоб что мне приходилось видеть...
даже блоу джоба нету..
Господи, это лучший канал по программированию. Спасибо за ваши труды)
инкапсуляция это сокрытие, понятно же тут всё
После этого ответа, его никто не видел. Поговаривают, что Артем сам пришел к нему в ночи. Задал ему тот проклятый вопрос и схватив, взлетел на стратосферу. Тем самым убив его.
@@ladykamykadze3112 не... Ну серьезно сокрытие же... Только реализации а не данных...
Накинул на вентилятор. =))
Троль)
инкапсуляция - это в первую очередь АБСТРАГИРОВАНИЕ ... какое же количество тупорылых отбитых на всю тупую свою бошку кодеров и учителей и преподов я повидал на своём веку.. СОВЕРШЕННО НИХЕРА НЕ ПОНИМАЮЩИХ что из их рта вылетает.. и соответственно после них такие же ученики-инвалиды умственные выходят.. и уже 20 лет эта цепочка никак не прервётся ))))))))))))))))))))))
почему не начать учить ООП с ПРОЕКТИРОВАНИЯ!!! чтобы люди понимали - НАХЕРА ВООБЩЕ НУЖЕН ООП.. ООП надо учить уже ПОСЛЕ того как вы поймёте ЗАДАЧИ ПРОЕКТИРОВАНИЯ ))))
вот вам самый яркий пример: для чего нужно колесо автомобилю.. ответ: чтобы крутиться... и вот отсюда далее не зная практики представте что вы отлично понимаете что надо поворот проходить дрифтом, подгазовывая на задней передаче )))) --- так же и в ООП.. учат что колесо нужно чтобы крутиться - ДА НЕТ ЖЕ БЛЯДЬ ДЕБИЛЫ-УЧИТЕЛЯ... колесо нужно не для того чтобы крутиться ... Сколько же тупорылых просто наглухо отбитых людей лезет туда, куда им просто нельзя ни при каких условиях лезть.. особенно в процесс обучения.. сколько судеб загубленных, сколько светлых голов сошло с дистанции из-за этих выродков-преподов )))
з.ы.: может сложиться впечатление что я автора гноблю... не, это я о своём о наболевшем )) автор молодец редкостный, что не бухает, не колется - а пытается познавать прекрасное ))
Орнул с воркера и его работы)))
PS: Помните, когда приходите на собеседование и Вас спрашивают о том какие паттерны вы знаете и используете.
Лучше начните со стратегии "HandJob, FootJob", а не с синглтона, когда вы примените стратегию, интервьюеру будет похуй на какие-то паттерны=)
))))))))))))))))))
Яы юмщыс даоюяоы, чыпрм озесш ъыозц охрыюхч
|\ /|
(.•ы•.)
Даю подсказку: ROT13
20
ROT20 :)
@@ExtremeCode вот нахера? - теперь сижу цезаря алгоритмы изучаю ,вместо сна )))
Начал изучать C# по вашему курсу, видео закончились, где инфу дальше брать?(
Ну все понятно:
Класс Worker - девушка, выполняющая определенные услуги за деньги
Класс Handjob - это понятно - ананизм
Класс Footjob - происходит таким же образом, как и handjob, только ногами
Стратегия - взаимозаменять Handjob с помощью Footjob в записимости от сексуальных предпочтений.
Ну так понятнее стало
Бл...ть, я сегодня увидел видео с Паниным и слово Footjob теперь вызывает рвотные порывы. Можете переснять видео с другими примерами?
ФЛЕНОВ ты что его канал смотриш? Зачем тебе?!
хахахах, рил очень понятно))
а BlowJob?
Братан, хорош, давай давай, вперёд! Контент в кайф, можно ещё? Вообще красавчик! Можно вот этого вот по чаще
Артем Витальевич ЛУЧШИЙ в мире
Болт?
Кстати автор, по мимо изложения кучи гов... кхм... сатиры))) очень хорошо и просто объяснил паттерн. Кому нужно:
4:12 - начало
5:08 - конец
Чувак, я тебя люблю! Не мог бы ты снимать ну хоть немножечко почаще, пожалуйста. Ещё у тебя голос классный и такая ехидная интонация, будто ты ржешь, это странно, но кайфово. Давай видосики, про что хочешь (:
Братан, хорош, давай, давай, вперёд! Контент в кайф, можно ещё? Вообще красавчик! Можно вот этого вот почаще?
Т.к. все классические "шаблоны проектирования" - это про имитацию функционального программированиения с помощью ООП, то стратегия, как идеологический предок понятия интерфейса в VB, Java и C#, тут должна быть на первом месте.
судя по вкладкам, автор передал в worker только HandJob
Наконец из этого видоса узнал, что пишут видосы на этот канал 2 чела, даже имена их узнал. Коля и Артём 3>. А то думал то ли у меня шиза, то ли микрофон меняет этот чел постоянно.
0:35 - у нас так каждый митап
- Лучшая работа в мире.
- Лучшая работа в мире!
Качественный контент(но это не точно)
Артем Витальевич "лучший в мире"
Ставь лукас если тоже любишь хэнд джоб!
Артём Витальевич лучший в мире, ждём видос всей семьёй
Антон Валерьевич лучший в мире
Вернулся
Артём Витальевич лучший в мире!))
Артем Витальевич ЛУЧШИЙ в мире. ( И это я пишу не потому что совсем не представляю что такое инкапсуляция, а потому что меня зовут так же) )))
А в чем отличие стратегии от dependency injection?
Отличный видос. Если кто-то считает, что недостаточно разобрался, то могу посоветовать первую главу книги Head First: "Паттерны проектирования". Отличный пример с практикой.
Все что находится в фигурных скобках это и есть инкапсуляция, {капсула} - оболочка. Из книжки Шилдта можно узнать что фигурные скобки инкапсулируют все что в них есть. А все что не помечено пабликом скрывается от "вне скобок". Хош скрыть кусок кода? Возьми его в фигурные скобки.
Артём Витальевич лучший в мире)
хахах, закладки топ, особенно с Winderton'ом, кстати а как вы к нему относитесь?
Спасибо за разъяснение темы. Оч. круто =)
Будет ли видос по виндертону?
Вы просто лучшие, продолжайте
Только вчера смотрел, а тут Экстрим Код, отлично
0:25 гоша дударь и его братья близнецы
Понял, стратегия - сокрытие данных, спасибо!
Я ничего не понял, это что получается если использовать интерфейсы то это уже есть паттерн стратегия?
Вы будете смеятся, но это реально производит впечатление на собеседующих, когда перечисление знакомых паттернов начинаешь со стратегии, а не адаптера/синглтона/фабрики. Причем, иногда его даже не просят объяснить.
Спасибо за видос.
Ожидал вначале услышать: откиньтесь на спинку сиденья, кресла, табуретки, или бутылки, но в те годы съёмки бутылка ещё не была мейнстримом
Мужики, давайте побольше паттернов o!o
Артём Витальевич, спасибо!!! Я немного охуYELL, но это 7-минутное видео для меня было понятнее, чем часовой урок!!! Аж даслёз!!!
Артем Витальевич самый лучший в мире
Прикольная отсылка на School 13 - игрооргии в начале
можешь поставить видео на паузу и сделать вид, что изучаешь схемку)).... меня порвало, я таки поставил сначала на паузу, потом запустил видео дальше и услышал это.
Если к авторов канала появиться хотя бы одно видео без матов, ребята сообщите мне!
Только сейчас понял, что Артём и Коля живут вместе, если вы понимаете, о чём я
"Вики не любит землю"
Справедливо 👌
Ну и что, я теперь состарюсь когда выйдет следующий видос?
лучшая работа в мире, ой Артем Витальевич лучший в мире
Спрашиваю за друга, как откинуться на бутылке?
Тёма - молодец!)
Кстати по поводу инкапсуляции...я ее представлял всегда как прием создания каких-то библиотек на которые опираются другие прогеры, не особо парясь как она реализована(через што с точностью до символа '
'). Так вот не кажется ли вам что термин "сокрытие" встречаемый в описании данного подпункта объектной парадигмы в различных источниках связан непосредственно с идеей выделения 2х вещей: бизнес логики и ее реализации, (с явным подчеркиванием того что именно бизнес-логика должна переходить от прогера к прогеру, а никак не реализация ) а не к непосредственному сокрытию данных, как вы упоминали в видосе про ООП? Да и "объединение данных и методов в классе" как то слишком очевидно для такого важного принципа который в случае моего понимания решает проблему написания велосипедов...
дайте кто-нибудь ссылку на Коляна, столь. Прям переживаю за него...
Спасибо за то что ты есть ❤
Артем Витальевич лучший в мире!
Мало кто заметил, что "Вики не любит Землю"
Мне показалось, или паттерн Билдер это что-то вроде частной реализации стратегии?
В чем разница между стратегией и dependency injection?
Добрый день, а разжуйте пж разницу Стратегии и Стейт
Артем Витальевич, Инкапсуляция - это слово
А чет не понял, паттерн инверсия зависимостей основывается на паттерне стратегия ?
Функции высшего порядка - лучшая реализация стратегии в мире!
- (с) Штрохайм
Да все ведь понятно ведь! Инкапсуляция - это сокрытие!
P.S. Давай только без бана, плиз.
Добрый день.Скажите, как написать батник или скрипт, который ищет заданое слово в любой программе(консоли игры) и совершает закрытие активного окна или убийство процесса?
Я уже школу закончил, когда вы видос запилили. Жесть. Не надо так
А можешь рассказать про стек и кучу? Сколько не читал, сколько не смотрел, не искал, ВЕЗДЕ это пытаются объяснить люди, которые сами не понимают что это.
Аж, шишка встала
Артем Витальевич лучший в мире!)
Не могу уловить паттерн поведения чувака, который матерится фоном и устроил драку вначале видосика )))
Артем Витальевич лучший в мире
То есть стратегия это просто использование интерфейса по назначению?
Так и не врубился зачем это, и это нарушает DL принцип.
Артём Витальевич ЛУЧШИИИИЙ в мире - забайтил
запели видос про коллекции плес
Твое видео записано с использованием шаблона "Презентация".
всё понятно, спасибо за контент!
Николай Николаевич ЛУЧШИЙ в мире
Артём Витальевич ЛУЧШИЙ В МИРЕ
*Почему так годно?*
А разве инкапсуляция не существует для сокрытия методов и свойств в классе от внешнего доступа? Причем тут связывает, вот это немного не понятно.
Подбор вкладок сладок!😁👍
Открыл самые лучшие странички судя по вкладкам)))))
Расскажите пожалуйста про ваш опыт работы в геймдеве
Показалось очень похоже на паттерн Мост (Bridge). Хотелось бы понять, в чем принципиальное отличие
Безмерная благодарочка
давайте объясняйте углубленно, без артёмов витальевичев понятно, что тут без пол литру не разобраться
когда джаву будешь делоть,питор?
Что делать когда все заебало?
Снимать видос по стратегии
Витальевич лучший в мире Артём.
Пародия на сWindertona будет?
10 из 10ти просто огонь!!)))
Чем паттерн "стратегия" отличается от паттерна "состояние"?
5 сек видео и я под столом xDDD ты лучший
Есть классы HandJob, FootJob, а где тогда класс BlowJob????????
так его поручили тебе, реализовать в рантайме
@@playerkilleryakutia9415 using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Strategy
{
class BlowJob : IJob
{
public void DoJob()
{
Console.WriteLine("Blow Job");
}
}
}
вот, реализовал в runtime
Почему в начале не было шутки про гачимучи?
Блять. Я уже собирался идти за паяльником, чтобы починить колонки.
Артём Витальевич Лучший в Мире
пока interface IJob публичным не сделал, не пошло. 4:20 будьте бдительны