WPF+MVVM часть 1 (Перезалив) Начало, архитектура проекта, основные элементы MVVM

Поделиться
HTML-код
  • Опубликовано: 12 дек 2024

Комментарии • 34

  • @ewgenbi
    @ewgenbi Год назад +2

    Зашёл два года спустя, что бы сказать ОГРОМНОЕ СПАСИБО автору контента. Павел, спасибо вам огромное!

  • @Anton-Os
    @Anton-Os 8 месяцев назад

    Только начал смотреть. Уже впечатлён подачей материала. Огромное спасибо!

  • @yankozyrenko9348
    @yankozyrenko9348 4 года назад +18

    я благодарен звездам, что нашел этот канал. я не мог найти ничего стоящего про MVVM на русском ютубе, да и при чем так подробно как здесь. этот канал теперь однозначно в моих подписках)

  • @kirilllabockiy3989
    @kirilllabockiy3989 3 года назад +4

    Павел, огромное Вам спасибо за Ваш труд. Посмотрев несколько Ваших уроков по MVVM очень многое понял, хотя раньше мне шаблон разработки казался чем то очень страшным. Да и объясняя основную тему, Вы попутно очень много чего показываете полезного. Я новичок в программировании, и порой найти стоящий урок или статью бывает очень сложно. А тут такое сокровище. Хотелось бы иметь такого наставника как Вы. Еще раз Вам спасибо!

  • @РекфилдКрис
    @РекфилдКрис 6 месяцев назад

    Мужик! Ты крут. Спасибо. Не часто оставляю комментарии (обычно менее раза в год), но... Это настолько офигенное видео, что я восхищён)
    Настолько, что на гитабе у тебя +1 follorer)

  • @vASTification
    @vASTification 2 года назад +1

    Сначала испугался продолжительности видео, но посмотрел уже несколько и получил много новых знаний и ответы на вопросы «а почему так?», «а зачем это?» как раз года 4 не занимался WPF потому что мало было толковых уроков с примерами больших приложений. Большое спасибо 👍🏻

  • @ssslll9497
    @ssslll9497 4 года назад +4

    Много материала по MVVM находил, но только это видео дало полное понимание паттерна MVVM. Спасибо за видео

  • @Огромныйхрен-б8б
    @Огромныйхрен-б8б 3 года назад +2

    Спасибо Вам за самые полезные и подробные видео!

  • @ellovich
    @ellovich 2 года назад +2

    Действительно, это лучшее видео по MVVM

  • @adel7124
    @adel7124 Год назад

    шикарное изложение материала! просто топ

  • @Дмитрийсекрет-н7о
    @Дмитрийсекрет-н7о 4 года назад +3

    Спасибо. Очень качественный урок.

  • @z-tech-extrem
    @z-tech-extrem 11 месяцев назад

    Класс 🤙

  • @АндрейФлибустьер
    @АндрейФлибустьер 3 года назад

    Огромное Вам спасибо.

  • @foos2501
    @foos2501 2 года назад

    Спасибо! Узнала много полезного.

  • @ichbinschlange
    @ichbinschlange Год назад

    Здравствуйте. Почему на 33:46 Dispose вызывается с false? Случится return и метод не будет вызван. В этом есть какой-то скрытый смысл?

  • @hoorbazoom
    @hoorbazoom 10 месяцев назад

    странно, но сейчас там есть ещё "Bonaire, Sint Eustatius and Saba",Netherlands,12.1784,-68.2385, кроме Корей, почему её там не было 3 года назад..

  • @Amkonax
    @Amkonax 3 года назад +1

    Пожалуй, лучшее что я видел по теме MVVM на русском. Единственное, что омрачает - 720р(

    • @Shmachilin
      @Shmachilin  3 года назад +1

      ruclips.net/video/uMNYu0p3MP4/видео.html исходное видео должно быть в лучшем качестве.

  • @nikolay501
    @nikolay501 3 года назад

    сейчас наверное , чтобы свойства не мутировали, мы можем использовать иммутабельные DTO, по сути - Record , из C# 9, спасибо за видео

    • @Shmachilin
      @Shmachilin  3 года назад +2

      Record сами по себе не иммутабельные. Можно написать так:
      record Student
      {
      public string Name { get; set; }
      public double Rating { get;set; }
      }
      и это будет запись и её свойства можно будет менять.

    • @nikolay501
      @nikolay501 3 года назад +1

      @@Shmachilin , согласен

  • @glorglorsky7987
    @glorglorsky7987 5 месяцев назад

    Так чем команды отличаются от обработчика событий? Не раскрыта тема, почему лучше пользоваться командами, обьясните, пожалуйста?

    • @Shmachilin
      @Shmachilin  5 месяцев назад

      Обработчик события - это делегат. Это просто ссылка на функцию, которая будет вызвана в момент возникновения (генерации) события. Ссылка на функцию (делегат) ни как не может определять - можно его вызывать, или нет. Делегат не может обладать свойствами (на пример локализуемым именем). Делегат не может сам по себе выполнять клонирование процесса своего вызова. А команда может. Команда - это оболочка над делегатом метода. А то и не одного... Это капсула, в которую можно поместить любую логику и присовокупить данные. А ещё поведение. К примеру, команда, будучи сделана асинхронной, может иметь дополнительную функциональность отмены выполняемой операции, может быть снабжена информером прогресса.

  • @VegaSlayer
    @VegaSlayer 2 года назад

    Павел, времени уже нормально так прошло, но все же попробую уточнить - 1:11:02 почему для методов команд CanExecute и Execute вы создаете абстрактные методы а не виртуальные?

    • @fomgleb
      @fomgleb 2 года назад

      Виртуальные не обязывают наследника переопределять их (можно override`нуть, а можно оставить как есть), а абстрактные обязывают наследника реализовать его.

    • @Shmachilin
      @Shmachilin  2 года назад

      Что бы наследник обязан был определить свою логику. Метод CanExecute можно сделать виртуальным, возвращающим true.

  • @АлександрГринёв-г5я

    Что происходит, когда в разметке указываешь в свойстве .Command ? Откуда берется экземпляр объекта?

    • @Shmachilin
      @Shmachilin  Год назад +1

      Его создаст парсер XAML

  • @kslmPtr
    @kslmPtr 4 года назад +1

    С чем связан перезалив ? Стоит ли пересматривать ?

    • @Shmachilin
      @Shmachilin  4 года назад +4

      Порезали паузы, ускорили. Пересматривать не стоит.

  • @Юрчик-л8у
    @Юрчик-л8у Год назад

    oxy:plot ни вкакую не пишется ,только oxy:PlotView .И дальше не продвинуться из за этого

    • @Юрчик-л8у
      @Юрчик-л8у Год назад

      смог сделать все таки через oxy:PlotView ,но чуть по другому пришлось ))

    • @Shmachilin
      @Shmachilin  Год назад +2

      Они перенесли функционал Plot в отдельный пакет OxyPlot.Contrib.Wpf. Если нужно построение графиков в WPF+MVVM, то достаточно подключать только его.

    • @Юрчик-л8у
      @Юрчик-л8у Год назад

      спасибо ,буду знать теперь. Так же к этому уроку закрепили бы это ,и так же у меня переключение вкладок не работало.С чата подсказали добавить "field= value;" в "protected virtual bool Set(ref T field,T value, [CallerMemberName] string PropertyName=null) " ,после if и перед "OnPropertyChanged" . А так большое спасибо за уроки, планирую все пересмотреть,может что да отложится в мою головушку хD @@Shmachilin