Урок номер 1: изучаем букву А Урок номер 2: Учимся писать букву А Урок номер 3: Берём бозон Хиггса и рассчитываем массу частицы атома протонной звёзды, имея параметр полёта баллистической кривой в синусоидой плоскости без расчета угла искажения преломляющегося отражения от рефрактора гиперболы. Это так выглядит для начинающих.
@artyombelousovig49014 жыл бұрын
На самом деле , если переписать код в студию и потыкаться в него так - сяк , то (при наличии хоть мало мальски чугунной задницы) становится более - менее понятно
@zayarniy4 жыл бұрын
На самом деле использование MVVM подразумевает хорошее знание C#. Это мощная технология, но она требует не маленьких начальных знаний.
@Dmitriy-k2z4 жыл бұрын
Ха-ха-ха... ЗАЧЕТ ))
@FabioBannet4 жыл бұрын
@@zayarniy Ну я на шарпе работаю уже год, WPF юзаю чуть меньше. Но большая часть работы MVVM для меня магия ) Реализовать, то я реализую. Но как оно передаётся - мозги сворачиваются - хотя тут всё просто.
@JoeSmith-ll9yn3 жыл бұрын
стоп, если третий урок это текущий - то я Вам не завидую я понял всё не смотря предыдущие
@roma9957 Жыл бұрын
Раньше не любил MVVM и думал что это сложно и не было желания изучать эту технологию, но после этого видео всё стало понятно и легко.Спасибо тебе за видосы)
@-USER_NAME2 жыл бұрын
Посмотрел несколько ваших видео , по началу как то настороженно отнёсся к методам ,но сейчас считаю что это одни из лучших видео-уроков по теме WPF
@BashkaMen2 жыл бұрын
Спасибо, приятно
@kakoytochel22862 жыл бұрын
смотрел 3 месяца назад ничего не понял , посмотрел сейчас и все понял . Magic
@Ярослав-ю3л6ц5 жыл бұрын
Я везде вижу примеры MVVM с использованием простых данных типа вывода числа или созданием простой модели в конструкторе, а вот с использованием вытянутых данных из БД, нигде не могу найти нормальные примеры. Если мы например вытягиваем данные с помощью DataSet в Table, нужно ли делать отдельную модель которая будет описывать содержимое Table и потом на основе данных из Table создавать коллекцию моделей которая поддерживает привязки? Или мы просто будем использовать Table или его DefaulView во ViewModel?
@raymond14894 жыл бұрын
Да, нужно будет описать модель таблицы, потом с БД заполнять эту модель и далее работать с коллекцией, которую ты заполнил и забнидил. Подробнее: metanit.com/sharp/wpf/22.1.php
@raymond14894 жыл бұрын
И лучше бы научиться работать с EntityFramework, он ускорит процесс работы в разы + представит твои таблицы автоматически в виде моделей, останется только с помощью linq + sql с ними работать.
@davidslutsky94957 жыл бұрын
Как сказала Баба Зина, BashkaMen большая сила!
@scrypto4 жыл бұрын
11:15 раньше класс наследовался от INotifyPropertyChanged, а теперь от BaseVM, причем оставив INotifyPropertyChanged, все работает
@TheRealNisem4 жыл бұрын
BaseVM у автора - класс содержащий реализацию INotifyPropertyChanged. Он от него наследуется. просто до этого он наследовался напрямую от INotifyPropertyChanged и реализацию выполнял внутри класса MainViewModel. вы не заметили что реализация исчезла из класса MainViewModel и оставили ее там по этому у вас все работает если оставить наследование от INotifyPropertyChanged.
@ПТИЦАСИНИЦА-д7я2 жыл бұрын
Я так и не увидел связь model и viewmodel. Где же она?
@zayarniy4 жыл бұрын
Молодцы! Отличный пример. Нет лишней воды. Очень все живо и понятно.
@jokentosh6 жыл бұрын
Ты конечно объясняешь нормально. Но не придаешь значение объяснить от куда и куда идут фалы... создал класс а где создал как подключил сиди гадай.... Хотя бы солюшен эксплорер бы не прятал. И model так и не задействовал(и целой картины работы mvvm не складывается) общая суть улавливается и то из за какого то багажа знаний. А в целом реализацию шаблона так и не обьяснил.
@eu-rn1xb5 жыл бұрын
Вот именно. Без модели этот видос не стоит ничего
@user-ffffffff6 жыл бұрын
Это единственное нормальное видео по mvvm. Спасибо друг, снимай дальше.
@BashkaMen6 жыл бұрын
спасибо :)
@JoeSmith-ll9yn3 жыл бұрын
@@BashkaMen 11:29 о содержимом свойства "Clicks" которое занимает 11 строк мы, как я понимаю, должны догадаться сами дизлайк
@JoeSmith-ll9yn3 жыл бұрын
@@BashkaMen откуда взялся класс BaseVM - тоже непонятно
@dianacold19782 жыл бұрын
@@JoeSmith-ll9yn 5:00 функция Click
@mavezo67182 жыл бұрын
@@BashkaMen это действительно хорошее видео. Много смотрел примеров, объяснений, но только твой ролик понял
@lazycat84623 жыл бұрын
Спасибо за видос. Давно не кодил на wpf и видео очень хорошо освежает память
@РоманПолищуков4 жыл бұрын
хороший урок, только просьба в следующий раз показывай изменения в файлах, а так очень интересно смотреть
@TanaTiX444 жыл бұрын
Я так понимаю, что количество кликов нужно все же поместить в модель? И как потом правильно соединить модель и вьюмодель?
@argentmize3 жыл бұрын
В модели, кроме свойств, вообще ничего не должно быть, по-хорошему. Логикой должна заниматься модель представления (view model).
@AlexCSharp6 жыл бұрын
Братишка, никогда больше не обрезай так окна, ничерта же не понятно что где находится. У нас у всех мониторы, на которых мы видим VS так же, как ты. Не надо этого, пожалуйста.
@TheRealNisem4 жыл бұрын
ну по идее он же объяснил изначально где что находится, когда было введение рассказывающее что такое MVVM - логика в Models, в ViewModels лежит класс или набор классов отвечающих за передачу данных из модели в интерфейс и наоборот, в Views - лежит интерфейс. просто он обрезал чтобы код был более читаем. Да знаю что я отвечаю на коммент двухлетней давности.
@AlexCSharp4 жыл бұрын
@@TheRealNisem Да, я этот коммент писал тогда, когда делал тестовое задание для принятия на стажировку. Сейчас я уже мидл и сам пишу архитектурные обучалки. Не очень актуально.)
@СергейЦветов-н4н3 жыл бұрын
@@AlexCSharp как собеседование прошло ?
@AlexCSharp3 жыл бұрын
@@СергейЦветов-н4н Да как, то да сё, тестовое дали, на мотивацию посмотрели, кое как сделал, предложили оплачиваемую стажировку, да и всё.)
@СергейЦветов-н4н3 жыл бұрын
@@AlexCSharp ,хмм ,понял ,спасибо ,я думал на стажировке ещё вопросы спрашивают 😅, сижу старое повторяю ,новое учу
@scrypto4 жыл бұрын
12:25, ты пишешь, что clicks меньше десяти в условии, однако программа разрешает делать 10 клик, почему?
@scrypto4 жыл бұрын
А
@zayarniy4 жыл бұрын
Начало с 0
@scrypto4 жыл бұрын
@@zayarniy вот я тупой ) Видимо устал к тому времени, как смотрел видос этот ) Этож начало начал, все с 0 идет, и знаю же это )
@Bont18602 жыл бұрын
На гитХабе нет кода этого проекта с MVVM... (((
@gryznysima68723 жыл бұрын
НАРОД!!! этот урок надо пересмотреть пару раз и тогда все будет понятно!!!!!
@SoferPeOZN4 жыл бұрын
Big like
@ШимченкоМаксим2 жыл бұрын
Я знаю что 4 года ) но если можешь то ответь . У меня вопрос , а как в viewmodel реализовать все event , ну припустим я хочу pointermove
@evan_kirk Жыл бұрын
От интерфейсов *не наследуются* , их *реализуют*
@Magic-oc1jk4 жыл бұрын
Нихуя не понятно, но очень интересно!!!
@andreikhotko52065 жыл бұрын
6:55 свойство необязательно должно иметь и get и set. Достаточно одного из них, чтобы поле стало свойством.
@dimapanasenko51114 жыл бұрын
Свойство обязательно имеер геттер и сеттер. Просто в озвученном Вами варианте второй не виден (не прописан)
@exys20864 жыл бұрын
@@dimapanasenko5111, есть поля без свойств. Если не знаешь - не пиши.
@ЕкатеринаИзосимова-п9к2 жыл бұрын
@@exys2086 не надо называть свойства полями, пожалуйста. В видео, кстати, тоже ошибка. Поле - это переменная. Свойство - это метод.
@SuperWolchara4 жыл бұрын
Ну вот смотришь и что нового? это то что в xml биндишься на свойство, а по факту тоже самое можно сделать delegate + event + invoke. В чем приемущество? Даже тот же инвок вызывается для того чтоб из другого потока обратиться. DataContext я бы трактовал как delegate + event а подписка это path=value На WidowsForms это можно сделать так: class Class1{ delegate void Show(int value); public event EventShow; int Counter = 0; public Class1() { new Task(()=> { EventShow?.Invoke(Counter ++); }).Start(); } } class Form1{ public Form1(){ Class1 class1 = new Class1() class1.EventShow += EventShow; } private void EventShow(int value) { textBox1.Text = value; } }
@BashkaMen4 жыл бұрын
Очень читаемо, класс! А я буду использовать то что нормально читается :) Я вроде в видео не говорил что самому биндинг сделать нельзя
@SuperWolchara4 жыл бұрын
@@BashkaMen Я к тому что это не облегчает написание кода, по структуре тоже самое только привязка либо в коде либо в xml. Чем так хвалят этот Binding... Если между контролами то да не нужно даже залазить в код все в xml.
@BashkaMen4 жыл бұрын
@@SuperWolchara хвалят тем что с тебя снимается челый кусок работы - работа с стейтои UI (выключить кнопку, включить) обновить значение текстбокса и тд
@argentmize3 жыл бұрын
Суть в том, что при таком подходе к разработке у тебя есть разделение на КОД и ДИЗАЙН. Т.е., если ты программист, что часть работы ты с себя можешь скинуть на дизайнера, который по ТЗ накидает интерфейс, настроит взаимодействие и предоставит тебе в итоге готовый интерфейс (я так понял, для этого нужна программа Blend), к которому можно будет прикрутить логику в виде кода непосредственно. Конечно, когда проектик небольшой и/или ты сам себе заказчик, про это вообще не думаешь. Но здесь всё упирается в удобство и скорость. И конечно, никто не запрещает пользоваться дедовскими методами. Однако, если проект большой, где ты уже не один, важно придерживаться какой-то общей концепции, которая всем упростит задачу. Вот и придумывают всякие паттерны проектирования, библиотеки, фреймворки и т.д. В общем, из нового здесь только подход к разработке. А в 2021 и далее будут очередные изменения. WinUI 3, MAUI, Uno Platform, Project Reunion.
@Максим-у5ч3р5 жыл бұрын
спасибо за видео только просьба показывать все экран монитора, что бы было видно что и где открыто
@ХристианБелов3 жыл бұрын
Спасибо, очень помог. У меня вопрос: если View не должна знать о ViewModel, и ViewModel не должна знать о View, как тогда во View вывести список объектов (1: название, цена; 2: название, цена; ...)? Ведь эти поля придется создавать динамически, но View не знает о данных, а ViewModel не знает о View и переслать ему пару объектов не может.
@BashkaMen3 жыл бұрын
View знает о ViewModel и биндингами на нее привязывается
@yevheniytymchishin84012 жыл бұрын
рефРакторинг?
@ssss706 жыл бұрын
Ну.. какбы.. типа...
@minsoctrud81745 жыл бұрын
Брат) подскажи пожалуйста, как ты такую подсветку кода сделал. Очень удобная!!!
@@BashkaMen сердечно благодарен!) Видео позволили за два дня войти в курс дела с WPF!
@sirop4ik4 жыл бұрын
Но я так понял, что это не работает для VS2017 ... или только у меня?
@boroda76945 жыл бұрын
ничего не понятно(
@Dinarqka2 жыл бұрын
Непонятно, откуда взялся интерфейс BaseVM, отсюда ничего непонятно. В целом видос полезный, но это скорее 13 минут для того, чтобы записать себе вопросы, которые потом нужно нагуглить.
@МорковкаСвежая-л1ш3 жыл бұрын
жаль что чтобы понять видео нужно пересмотреть его много раз
@mellbonus13377 жыл бұрын
а где hacking
@uporka69245 жыл бұрын
Чет если по видосу судить- муть полная. Что бы сделать тоже самое что в формах, надо пукнуть крякнуть, написать кучу непонятного кода. Хрень какая то
@TheRealNisem4 жыл бұрын
Это во первых не то же самое что в формах( если подразумевать под формами программирование как попало без структуризации проекта). Это паттерн который позволяет подразделить проект на некоторое количество частей. В данном случае 3. В этом проще разобраться чем в такой же по функционалу программе но написанной тяп ляп, а еще такая реализация позволяет вообще отбросить нафиг интерфейс. можно убрать XAML и написать интерфейс на HTML и будет все прекрасно работать без изменения логики. ( коммент скорее не для автора а для будующих поколений, так как автор я думаю за 10 месяцев разобрался с тем для чего нужен MVVM и другие паттерны а так же WPF)
@itcloudguy6 жыл бұрын
за 13 минут рассказать о MVVM ?! Ну ты вообще молодец какой...
@BashkaMen6 жыл бұрын
Кому то нужно пол года на изучение ПАТТЕРНА?
@sergejstreck70266 жыл бұрын
тупой блогер, половина кода вообще остаётся за кадром, кому нахрен нужны такие объяснения, когда не понятна структура проекта! Мальчик, не занимайся не своим делом!
@anonym15484 жыл бұрын
Господи, откуда вы такие беретесь? Юноша, усвойте одно - никто вам здесь ничем не обязан. Нравится смотрите. Не нравится, идете мимо. А то сидите только на диване и обсираете. Всегда нужно оставаться людьми. Если не нравится реализация в видео каких-то моментов, то можно просто по-человечески об этом написать и автор примет это к сведению при создании будущих видео.
@АлексейМелентьев-ч3в4 жыл бұрын
клик ад, а видео полезное
@KaizerTheChangeling3 жыл бұрын
все как то скомкано с кучей запинок, будто сам не уверен в том, что ты делаешь, лично я понял только принцип модели, и то потому что загуглил до этого
@babymayby92705 жыл бұрын
не не понимаю я этот mvvm зачем все так усложнять
@raymond14894 жыл бұрын
Сложность возникнет когда твой интерфейс приложения смешается бизнес-логикой (функциями, которые например берут данные с БД). MVVM даёт возможность отделить логическую часть от интерфейса, если тебе нужно будет дописать какой то функционал ты залезешь ModelView и там допишешь команды.
@MonichGPT5 жыл бұрын
Че ты делаешь где тут дата ничего не понятно какие-то () => что это вообще такое
@ТвойХозяин-е8л5 жыл бұрын
Monich лямбда выражения. Ты сам виноват в том, что тупой
@ТвойХозяин-е8л5 жыл бұрын
Monich че
@mavezo67182 жыл бұрын
Что ты на впф забыл, если не знаешь о () => смешной
@Qwerty0.17 ай бұрын
кошмар
@АлександрИнженер-д4б3 жыл бұрын
Обьясняет как будто все понимают язык школоты
@BashkaMen3 жыл бұрын
что?
@АлександрИнженер-д4б3 жыл бұрын
@@BashkaMen моя не понимать кринж этого попита
@Алексей-ч4у3з5 жыл бұрын
не рефракторинг, а реФАКТОРинг. видео ни о чем, как учебное не катит совсем
@kavelquu3 жыл бұрын
ааа, господи, я сидел не мог понять что это за слово, а это рефакторинг ахахах
@JoeSmith-ll9yn3 жыл бұрын
11:29 о содержимом свойства "Clicks" которое занимает 11 строк мы, как я понимаю, должны догадаться сами дизлайк
@remingtontuflips27973 жыл бұрын
в самом начале видео было показано, что там
@andrewsed_uplisten20194 жыл бұрын
короче хрень, учитель из тебя херовый я так и не понял порядок написания что куда от куда пишется оч разочарован, думал всё по порядку расскажешь , не , только диз
@TheRealNisem4 жыл бұрын
Думать надо учится. думать. ролик полезный. конечно объяснено все достаточно сухо но понять можно. Я сам пересмотрел несколько раз но вник в тему и даже смог ответить людям на вопросы в комментариях.
@user-tu5kz9pv1o Жыл бұрын
Смотрел это видео 2 года назад. Непонятно о чем хочет донести челик. Ужасные примеры и повествование. Пересматриваю сейчас - абсолютно то же самое чуство. Цель была не научить - а выпендриться, хз как это назвать. В MVVM может въехать даже человек не дошедший до событий и делегатов, есть живые примеры.