Да, было очень интересно и понятно! Жду новых видео по Java
@бычара4 жыл бұрын
Ну это однозначный лайк! Очень полезно! Автор вы молодец! Жду новых видео
@ALEX-pi1zs5 жыл бұрын
Для тех кто не понял, почему в последнем примере вывелось 8 строчек вместо 10, поясню: чтобы вывелось 10 строчек, надо добавить в методе doSometing(Human human) класса Weekend ещё одну строчку в последнем блоке else : human.doSomething();
@alexanderkostyuk7556 жыл бұрын
Я бы сказал так, что: - Когда применяется данный паттерн(State): - "Когда необходимо уйти от многочисленных условных конструкций". У вас Вы добавляете "многочисленные условные конструкции" в Методе NextStation() класса Radio, и вы вдобавок нарушили один из принципов SOLID - "Liskov substitution principle". Т.Е. нам нужно уйти он условных конструкций с помощью Этого Патерна, а увас получилось так что вы наоборот пришли к ним. Я бы преределал Так: public interface IStation { void Play(); IStation NextStation(); } public class RadioFm : IStation { public void Play() {Console.WriteLine("Radio FM");} public IStation NextStation() {return new RadioFora();} } public class RadioFora : IStation { public void Play() {Console.WriteLine("Radio Fora");} public IStation NextStation() {return new RadioFm();} } public class Radio { public IStation Station; public void NextStation() {Station = Station.NextStation();} public void Play() {Station.Play();} } и Radio radio = new Radio {Station = new RadioFm()}; radio.Play(); radio.NextStation(); radio.Play(); Спасибо!!!
@ВасилийГоловко-д9и6 жыл бұрын
да ты правильно написал. сам так же реализовывал этот паттерн и видел другие реализации таким способом
@TheMerdontv5 жыл бұрын
твой код жестко связан и ничем не отличается от примера автора.
@nikolaygoltsov17828 жыл бұрын
Доходчиво и понятно.
@toxicknight30795 жыл бұрын
Так и не понял почему в примере с Human вывело 8 сообщений, а не 10, хотя в цикле было прописано именно 10 итераций.
@oleksandr-petrovych8 жыл бұрын
Объек состояния будет сам менять состояние контекста. Изнутри ? Примеры какие то совсем не понятные. Где и когда нужно применять этот шаблон ?
@lichlichi6 жыл бұрын
Везде где есть набор каких либо подклассов объекта. Например у тебя есть класс Фильм, фильмы бывают разных жанров. Вот State будет Жанром фильма со своими подклассами(фэнтези, комедии, боевики), а контекстом будет просто Movie с агрегацией на Жанр.
@torcher50233 жыл бұрын
А зачем нужны все эти паттерны, если в итоге всё сводится к ифам?
@torcher50233 жыл бұрын
Ох уж эти программисты-анальники со своим юмором
@angular-developer-e1t7 жыл бұрын
eclipse козлом обозвали. Он обиделся и ушёл. А если серьёзно - оказывается Redux на шаблоне State построен
@user_drew257 жыл бұрын
всё вроде работает я только не понял почему при счётчик цикла for (int i = 0; i < 10 ; i++) { h.doSomething(); } i = 10 на выходе получаем Работаем!!! Отдыхаем(Zzz) Отдыхаем(Zzz) Отдыхаем(Zzz) Работаем!!! Отдыхаем(Zzz) Отдыхаем(Zzz) Отдыхаем(Zzz) то есть 8 строчек а не 10 я потестил со счётчиком i=1, i=2, i=3, i=4 получаем ожидаемые 1 , 2, 3 и 4 строчек соответственно, а вот при i = 5 получаем почему то не 5 строчек а те же 4 как т при i = 4 то есть теряется 1 итерация что ли? Я не шибко опытный кодер может ребята поопытнее меня найдут почему так и исправят ошибку? Автор, спасибо всё очень доходчиво .
@paradise_cracked7 жыл бұрын
thx
@narekf5 жыл бұрын
дядя, если ты действительно хочешь своими уроками помочь, тебе нужно поработать над тем, чтоб ПРАВИЛЬНО излагать мысли, а не чтоб зритель сам всё склеивал у себя в голове
@васявасев-р2ш6 жыл бұрын
говноуроки от говногуру
@lichlichi6 жыл бұрын
Обоснуешь, или просто насрать в коменты решил?
@alexandrdeveloper12426 жыл бұрын
c категоричностью выше насравшего не согласен, но однако есть сомнения в правильности показанного. Шаблон "состояние" относится к группе структурных и из названия ясно что его задача именно хранить состояния Это тесно переплетается с шаблоном flyweight (не помню русского названия) - при присвоении сохраненного состояния к объекту flyweight он становится полновесным объектом считывая из объекта "состояния" свое новое состояние. Сам объект стэйт ничего не меняет Он призван создать абстракцию именно хранения данных А то что в видео больше похоже на машину состояний Возможно путанница с названиями...