#8 Бизнес логика или детали реализации? - Vue.js: концепции

Sdílet
Vložit
  • čas přidán 7. 09. 2024
  • Telegram группа: t.me/vuejs_club
    Задание для подготовки в закреплённом комментарии!
    ---
    Видео создано благодаря подписчикам проекта на нашем Patreon.
    Хотите получать контент на 3 месяца раньше остальных? Присоединяйтесь! / javascriptninja

Komentáře • 132

  • @JavaScriptNinja
    @JavaScriptNinja  Před 3 lety +148

    Итак, готовимся к первым практикам!
    Пусть вас не пугает, что ссылки на Vue.js 2. Вы от этого не пострадаете - мы будем акцентировать внимание на всех различиях:
    Вам необходимо прочитать и осознать:
    - раздел "Введение" документации Vue.js 2 ru.vuejs.org/v2/guide/index.html
    - раздел "Создание проекта" документации Vue-cli. cli.vuejs.org/ru/guide/creating-a-project.html#vue-create
    Вы должны уметь создавать с помощью vue-cli новый проект и запускать его.

    • @drewnaumenko2469
      @drewnaumenko2469 Před 3 lety +4

      Знаем умеем. Ждём с нетерпением.

    • @edward8397
      @edward8397 Před 3 lety

      Google translate(built in) to help.

    • @torodinson5260
      @torodinson5260 Před 3 lety

      плагины и пресеты настроек по ссылке на cli тоже учить ?

    • @elishadeshawn2599
      @elishadeshawn2599 Před 3 lety

      Pro tip : you can watch movies at Flixzone. I've been using it for watching lots of of movies during the lockdown.

    • @artemy5594
      @artemy5594 Před rokem +1

      я учился на react, а пришел на проект, где с vue2. Смотрю твой канал, надеюсь будет полезно для меня.

  • @_LEXX_
    @_LEXX_ Před 3 lety +104

    Уточка знает как ты писал прошлым летом! Уточка придёт за тобой! 🦆

    • @user-rj6ro3mp1p
      @user-rj6ro3mp1p Před 3 lety +2

      Ну не надо, ну пожажда.😭

    • @user-qx7zs1ik7p
      @user-qx7zs1ik7p Před 2 lety

      Если честно, то у меня из за этой гребенной пропаганды везде Точка У мерещиться. Потом просмотрев видео понял, что никакого плохого контекста здесь нет. Пора заканчивать с зомбоящиком, то буду зомбоящером

  • @Brother_raccoon
    @Brother_raccoon Před 3 lety +64

    Первый раз с таким форматом изложения материала встречаюсь. Спасибо, прям интересно, жду как сериал. Пошел читать документацию.

  • @vitiok78
    @vitiok78 Před 3 lety +47

    Зачастую бывает так, что суровый бэкендер просто не успевает вам дать API в те сроки, в которые вам бы хотелось. И что делать? Ждать его? Тратить время? Нет. И вот вам нужно будет комментировать все ваши аксиосы и фетчи в компонентах, заменять их на какие-то заглушки, т.е. редактировать множество файлов.
    А если написать ту самую прокладку между компонентами и API, о которой говорится в видео, то такую заглушку нужно будет сделать только в одном файле, а именно в файле прокладки. И прокладка отдаст вашим компонентам те данные, которые им нужны. Вы подготовите компоненты заранее, бэкендер сообщит, что он уже готов, и вам нужно будет сделать изменения только в одном файле прокладки. А в компонентах не придётся менять ни одной строчки. Все тесты будут работать как и работали. Сплошная экономия времени и нервов

    • @user-ug1fk8ob3q
      @user-ug1fk8ob3q Před 3 lety +4

      Отличный пример привели, спасибо.

    • @mustapha_mond
      @mustapha_mond Před 3 lety +3

      Согласна, именно так я себе это и представляю

    • @violentiner
      @violentiner Před 3 lety +2

      для этого и существует фулл стак, и не какие тайп скрипты в целом не нужны)ты имеешь четкое представление что ты запрашиваешь и что получаешь

    • @vitiok78
      @vitiok78 Před 3 lety +9

      @@violentiner Для мелких поделок в виде чудо-сайтиков фуллстэк ещё подойдёт, но на проекте, над которым работает несколько людей - это идиотизм

  • @OneLegoOne
    @OneLegoOne Před 3 lety +56

    Это революционный метод онлайн преподавания, где фраза "Мы изучим" вместо "Вы изучите" меняет восприятие в корне. Кайфую.

    • @maxchernyshov8405
      @maxchernyshov8405 Před 3 lety +7

      кайфанете еще больше, когда вспомните что вью это не реакт xD

    • @OneLegoOne
      @OneLegoOne Před 3 lety +6

      @@maxchernyshov8405 кайфую каждый раз, когда заканчиваю проект на реакте и возвращаюсь к вью.

    • @nickmet12
      @nickmet12 Před 3 lety +1

      Типичное виражение для человека которий писал и преподовал в ВУЗе

    • @OneLegoOne
      @OneLegoOne Před 3 lety

      @@nickmet12 не преподавал никогда

    • @_LEXX_
      @_LEXX_ Před 3 lety

      @@nickmet12 согласен, в школах и вузах это часто употребляемое выражение... да и на ютубе каждый второй так выражается...

  • @IvanIvanov-bn5qm
    @IvanIvanov-bn5qm Před 3 lety +3

    Это лучшее обьяснение "S", что я слышал! До этого понимал проблему скорее интуитивно. Спасибо!

  • @wwiiktor
    @wwiiktor Před 3 lety +3

    Обязательно поддержку как патрона, за такой труд. Благодаря вам сэкономил 60к на курсах Владилена, а сэкономил - значит заработал.

  • @SansHAP
    @SansHAP Před 3 lety +6

    Вот здесь красиво, кратко и доходчиво! Единственное что нужно добавить - такое разделение упрощает тестирование

    • @City__Walker
      @City__Walker Před 3 lety +2

      Оно все упрощает, и когда спустя месяц резко задание приходит «поменяй», не пытаешься дня три понять что ты там такого наделал (когда все в кучу)но грешен, заклеван уточкой 😂

  • @DreamingDolphing
    @DreamingDolphing Před 3 lety +3

    Спасибо за объяснение. Теперь я понял зачем из компонентов выносят реализацию бизнес-логики в отдельный модуль. Сколько раз это видел в различных обучающих видео, но мало кто объяснял почему он это делает.

    • @krkaa8663
      @krkaa8663 Před 3 lety +3

      Эти горе-учителя сами не знают почему они так делают

  • @glyukoza3
    @glyukoza3 Před 3 lety +2

    Спасибо за понятное объяснение Single Responsibility! Ценно.

  • @enslit
    @enslit Před 3 lety +3

    Хоть я не учу пока vue, но очень ценю блоки концепций. Для меня, как для начинающего, такие темы, глобальные, на вес золота. Все везде конкретные технологии и примеры, а у Ильи философия и акцент на понимании. Очень интересно и полезно. Спасибо! 🤝

  • @attack1attack
    @attack1attack Před 3 lety +2

    Очень хорошее и четкое изложение материала. Вы и Тимофей Хирьянов лучшие преподаватели. Спасибо!

  • @jamesdavis4071
    @jamesdavis4071 Před 3 lety +3

    Привет. Посмотрел 8-ое видео по вью. Прочитал введение по вью 2. Вопросов стало еще больше 😆 Еще раз хотел бы поблагодарить всех причастных к созданию курса. Попробвал примеры из введения в связке с vue-сlie 4 и шаблоном для vue 2. Наступил на ряд граблей. Желаю всем нам удачи в этом увлекательном приключении!

  • @VasylBatih
    @VasylBatih Před 3 lety +7

    Очень хорошо обьясняете, раньше равнялся на Минина, теперь Вы мой фаворит)

  • @dmytroholoborodko8361
    @dmytroholoborodko8361 Před 3 lety +6

    Про уточку доходчиво было, спасибо! :)

  • @wwiiktor
    @wwiiktor Před 3 lety +2

    Смеренно жду новые материалы. Вперёд Илья. ))) Жена смотрит на монитор , а там стрим Ильи как раз идёт и спрашивает, очередной : у тебя новый друг , чего на ужин не зовёшь ?:D
    Вопросы в голове ещё не созрели . Теория впитывается хорошо. Скоро тучи сложности начнут сгущаться))

  • @Vladimir-bz9tg
    @Vladimir-bz9tg Před 3 měsíci

    Спасибо за Ваш труд

  • @maksime833
    @maksime833 Před 2 lety +1

    8 урок пройден! Спасибо за ваши видео! Иду читать документацию!

  • @ramilbabayev5067
    @ramilbabayev5067 Před 3 lety +1

    Спасибо за курс. Формат очень удобный и доходчивый.

  • @ni55an
    @ni55an Před 3 lety +11

    4:06 мой ответ, когда сильно заволновался на собеседовании 😂

  • @ragnnna2416
    @ragnnna2416 Před 3 lety +6

    Ещё одна серия любимого аниме!

  • @nireone95
    @nireone95 Před 3 lety +1

    Man, ty so much for your work! Looking forward for next lessons...

  • @life_on_fire
    @life_on_fire Před 3 lety +3

    Это наверно более понятная тема нежели предыдущая) спасибо!

  • @angrof
    @angrof Před 3 lety +1

    Спасибо, Ваш курс очень помогает.

  • @Masimkaify
    @Masimkaify Před 3 lety

    Спасибо за урок и доступное объяснение!) Пора приобретать уточку)))

  • @egorlazuka8211
    @egorlazuka8211 Před 3 lety +2

    Спасибо, про утку действительно понятно

  • @ky3bk449
    @ky3bk449 Před 3 lety +6

    За утку отдельный лайк)

  • @igorkulibaba7287
    @igorkulibaba7287 Před 3 lety +1

    Спасибо меня тоже интересовал этот вопрос!

  • @user-ns4js5wl5n
    @user-ns4js5wl5n Před 3 lety +1

    напоминает паттерн компонент-контейнер, где компонент для отображения в'юхи, а контейнер для получения даних, которие потом передают в компонент

  • @jamesdavis4071
    @jamesdavis4071 Před 3 lety +1

    Спасибо! Это просто комметарий для продвижения видео ^_^

  • @user-xe2de1ss7k
    @user-xe2de1ss7k Před 3 lety +5

    Спасибо за информацию. Будет ли отдельное видео для настройки окружения (VS Code) для Vue?

  • @glazzkoff
    @glazzkoff Před 3 lety +1

    Ахаххаха глаза кровью наливаютс)) Лайк за крутое объяснение 👍

  • @rodigy
    @rodigy Před 3 lety +2

    Самая большая боль это где отлавливать ошибки и в как их отдавать дальше. И не только на js

  • @pilyugin
    @pilyugin Před 3 lety +4

    Почитал комментарии, не я один такой тупой😂 вот сам принцип SOLID имеет немного разное значение в плане реализации на бэке и на фронте (имею ввиду бэк - не js)... с бэком я разобрался, вроде как хорошо, кроме буквы L, но на фронте это не работает, тут своя атмосфера, как здесь провести инверсию зависимостей? Это компоненты внедряемые в шаблон или что это? Как наследоваться от компонента для его расширения, чтобы не нарушить принцип открыточти и закрытости? Типа создать новый компонент импортировав в него уже существующий компонент, накатить поверх новую локигу и прокинуть нужные данные в исходный компонент? Вот не могу сообразить, надеюсь по ходу курса все станет понятнее)))

    • @JJ6OUN
      @JJ6OUN Před 3 lety

      Да, да. Вот тоже очень интересно оособенно об O, L, D послушать :)

  • @Cleannetcode
    @Cleannetcode Před 3 lety +4

    Вроде бы принцип S не совсем об ответственности файликов, компонентов или классов. Оригинальная статья говорит об ответственности за именения, которые могут потребовать те или иные акторы. С интересом послушаю как вы опишите остальные принципы, может мое понимание не совсем верно)

    • @JavaScriptNinja
      @JavaScriptNinja  Před 3 lety +4

      У нас на эту тему дискуссия в канале была. Обратите внимание на формулировку в видео - мы слегка коснулись S. Я не давал определения, S в полной версии определения - совсем про другое и гораздо ближе к тому что вы сказали

  • @user-wd8nu6vc6t
    @user-wd8nu6vc6t Před 3 lety +1

    7:06 S в SOLID прицип единичной (одной) ответственности. Часто оговариваются в пользу "единой". Как и в DI часто путают inverse и inject )

  • @alexandermykulych4165
    @alexandermykulych4165 Před 3 lety +3

    Илья, поправьте если неправ. В моей картине мира S это не о том что какие-то знания в одном файле, а о том что эти знания сильно связаны в рамках какой то атомарной сущности (клас, функция, vue-компонет и т.д.). Из видео получается, если я оберну запрос в функцию и вынесу в отдельный файл, то я молодец и проблему решил, но по факту осталась та же ситуация. Что думаете?

  • @TheVirtyoz777
    @TheVirtyoz777 Před 3 lety +1

    Большое спасибо !

  • @user-dz1is5rc7u
    @user-dz1is5rc7u Před 3 lety +2

    Уточка, когда слышит "и": OMAE WA MOI SHINDERIU

  • @KEHU008
    @KEHU008 Před 3 lety +2

    Спасибо за видео и за курс очень круто) Вопрос, нужно ли отделять бизнес логику от компонента? (имеется в виду в отдельные модули). Таки вещи как расчет себестоимости, расчет суммы, или еще какие ни будь задачи, связанные с бизнес логикой? А в самом компоненте вызывать методы (функции), типа getSum, calcPrice и т.д.

    • @user-mp5cc5ib3y
      @user-mp5cc5ib3y Před 3 lety +5

      если по хорошему, то бизнес-логика и фреймворк должны находиться в разных слоях. Причём бизнес-логика ничего не должна знать про фреймворк. Фреймворки с годами сменяют друг друга, либо сильно меняются их версии, а бизнес логика остаётся) И потом функции бизнес-логики могут использоваться в разных компонентах, так что логично их вынести в другой слой

  • @igormuryy5722
    @igormuryy5722 Před 2 lety

    Илья - Профи!!!

  • @user-bi7fh5qo7p
    @user-bi7fh5qo7p Před 3 lety +1

    спасибо за видео!

  • @Eugene.g
    @Eugene.g Před 3 lety +2

    Получился Ангуляр
    (и славно)

  • @usera8007
    @usera8007 Před 3 lety +4

    Пошел за глазными каплями для уточки

  • @jsb7239
    @jsb7239 Před 3 lety

    Стало понятнее 👍🏻

  • @Shadzen
    @Shadzen Před 3 lety +12

    А есть такое же простое объяснение остальных букв из SOLID?

    • @JavaScriptNinja
      @JavaScriptNinja  Před 3 lety +17

      GRASP и SOLID будут детально объясняться в курсе

    • @user-lb9rz2jg9l
      @user-lb9rz2jg9l Před 3 lety +1

      Присоединился, интересно о Солид

    • @amirych
      @amirych Před 3 lety +1

      @@JavaScriptNinja Что за курс?

    • @user-et2me5vv4d
      @user-et2me5vv4d Před 3 lety

      @@amirych ....ЭТОТ? (внезапно)

  • @denysbondarenko777
    @denysbondarenko777 Před 2 lety

    "у уточки глаза кровью наливаются" - порвало, запомню принцип единой ответственности :)

  • @alexanonymous5823
    @alexanonymous5823 Před 3 lety

    огонь спасибо за контент=))

  • @user-jj3gf3gv5p
    @user-jj3gf3gv5p Před 3 lety +1

    Супер

  • @xbsxbs22
    @xbsxbs22 Před 3 lety +3

    Забавно слышать про отделение БЛ от реализации в языке, где нет интерфейсов.
    Кроме этого, интересно узнать, что делать с БЛ, которая находится в условиях SQL запросов?
    Нахожусь в предвкушении жарких роликов на тему натягивания SOLID на JS. Здесь же каждая буква стреляет))

  • @alexnosov2066
    @alexnosov2066 Před 3 lety +1

    Уточка топ)

  • @user-pp2jt2vq7p
    @user-pp2jt2vq7p Před 3 lety +1

    Утка просто топ DD

  • @artemgiant
    @artemgiant Před rokem

    Хахахаха, метод уточни просто огонь !!!!

  • @daniilthegunner843
    @daniilthegunner843 Před 3 lety +2

    да ептель) что-нибудь надо записывать или нет в таком формате уроков? судя по тому, что из прошлых я ничего не запомнил, то нужно

    • @krkaa8663
      @krkaa8663 Před 3 lety +3

      Попробуй сделать как я. Просмотрел один раз. Потом второй раз, но с паузой на непонятных моментах, отдельно нагуглить, углубление в понимание термина в общем проделать, а в конце закрепить ещё одним просмотром. Удивительно, но в большинстве случаев хорошо откладывается в мозгах

  • @deutschc9058
    @deutschc9058 Před 3 lety +1

    Стартую))

  • @catranio
    @catranio Před 3 lety +2

    А у меня остался вопрос на примере axios. Мы для грамотного получения данных делаем let data = await api.getSomthing(); А уже внутри функции getSomething() дергаем axios, или надо как то по другому изолировать получение данных?

    • @JavaScriptNinja
      @JavaScriptNinja  Před 3 lety +1

      Да, именно так. В компоненте только просим данные

  • @alekssjeva951
    @alekssjeva951 Před 3 lety +2

    А мне вот всё же непонятно, зачем нужны все эти извращения с webpack, созданием бандлов, если можно просто подключить фреймворк статически в файл index.html, и писать всю логику в отдельном js-файле? Да, возможно для больших проектов это не катит, но я сужу по небольшим, где кастомная логика на JS обычно не больше 20-30 кб занимает.

    • @sergeypsiola176
      @sergeypsiola176 Před 3 lety +4

      А зачем тогда отдельный js файл? Надо пряв в хтмл тегом включать!

  • @aazubakin
    @aazubakin Před 3 lety +1

    Если конкретно на примере, vuemasters сделали, отдельный файл js и в нем импортировали библиотеку axios и создали инстанс объекта axios.create. Далее в этом же файле создали функцию, которая вызывает данный инстанс и эту функцию уже экспортируем для использования где нам нужно. Это верный подход, solid?

    • @mustapha_mond
      @mustapha_mond Před 3 lety +1

      Мне кажется, это часть этого подхода, но хорошо бы иметь еще какой-то промежуточный модуль, который вызывает методы, может быть как-то обрабатывает пришедшие данные, и уже нужный вариант отдает в компонент Vue. Например, таким промежуточным слоем могут быть vuex: мы дергаем данные через actions, сохраняем их через mutations, а в компоненте уже getters отдаем нам непосредственно сами данные.

  • @barrettM8
    @barrettM8 Před 3 lety

    спасибо!

  • @alexanonymous5823
    @alexanonymous5823 Před 3 lety

    онь=)) спасибо за видос

  • @irvicon
    @irvicon Před 2 lety

    Vue JS / бесплатный курс
    ---
    только я ссылки не вижу? или уже потерли?
    спасибо / глаз замылился... почему то решил, что они должны быть в описании))

    • @JavaScriptNinja
      @JavaScriptNinja  Před 2 lety

      Закрепленный комментарий не видите? :)

  • @user-nk3nd6yq5i
    @user-nk3nd6yq5i Před 3 lety +1

    Немного не понял почему вынесение запросов в отдельный модуль порадует уточку. Ведь наш компонент все еще будет запрашивать данные(хоть и не напрямую, но все же будет) И отображать их.

    • @user-yw9wx4lv2w
      @user-yw9wx4lv2w Před 3 lety

      вызов абстракного метода getMyPost это не одно и то же с axios.get('/my-posts')
      Да - компоненты вызывает getMyPost, но ему все равно как это работает внутри.

    • @stanislavoz5218
      @stanislavoz5218 Před 3 lety +1

      Возможно будет более понятно, если Ваш компонент возьму я. Вы меня не знаете. Я участвую в совершенно другом проекте. Вы не знаете логику моего проекта. Вы не знаете откуда и как конкретно я забираю данные. Обычно я не смог бы этого сделать. Если я смогу это сделать, значит архитектура более-менее. Одно дело поправить конфиг или в худшем случае файлы сервиса\контроллера e.t.c, другое поправить компонент целиком, что по сути означает написать его самому.

  • @volodymyr_muryn
    @volodymyr_muryn Před 3 lety

    4:08 Призвали мурлока

  • @jorgen5462
    @jorgen5462 Před 3 lety +2

    Если это не будет отягощать уточку, то можно ссылки и на англ. доку vue-3?

    • @DarkIllusoire
      @DarkIllusoire Před 3 lety +10

      Мне кажется написать одно слово vue3 в адресной строке, гораздо быстрее, чем писать комент на ютубе

  • @vladimirzaguliaev9857
    @vladimirzaguliaev9857 Před 3 lety +1

    Окей, Гугл. Игрушка уточка. Купить.

  • @avtandilshainidze7160
    @avtandilshainidze7160 Před 3 lety +1

    В Nuxt есть опция fetch и asyncData для компонента страницы. Эти опции не нарушают принцып single responsibility?

    • @smith-dev
      @smith-dev Před 3 lety

      так вы там можете дернуть api или диспатч vuex

    • @avtandilshainidze7160
      @avtandilshainidze7160 Před 3 lety +2

      @@smith-dev но там можно вызвать fetch или axios на прямую. В примерах так и показано. Принцип SR не нарушается?

  • @kirintsev
    @kirintsev Před 3 lety +1

    Пошли с уточкой читать доку. Спасибо )

  • @kusov4748
    @kusov4748 Před 3 lety +2

    4:07 НИВОЗМОЖНЯЯЯ ОРУ

  • @Yevhenii_7777
    @Yevhenii_7777 Před 3 lety +1

    Я правильно понял, это типа как в MVC разделение идёт? Для каждого компонента нужно делать отдельный файл, который отвечает за обмен данными?!

    • @violentiner
      @violentiner Před 3 lety +1

      MVC это о разделении логики в целом, да.

    • @get-web
      @get-web Před 3 lety

      MVVM

  • @evgeniypp
    @evgeniypp Před 3 lety +9

    Теоретически, это, конечно, верно. Но, как и во всех курсах, что я видел, говорится "как правильно", но ничего не говорится о том "почему это правильно".
    "Нужно разделять бизнес-логику и её реализацию". А зачем? Нет ответа.
    Я пишу среднего размера сайт. Есть ТЗ, есть конкретный срок окончания. После того, как сайт будет готов, возможны какие-либо небольшие правки, но не более того. Вероятность того, что он будет модернизироваться или расширяться, стремится к нулю.
    Насколько актуально для меня тратить время на то, чтобы делать всё через инъекции, чтобы потом можно было всё переделать или масштабировать?
    Насколько я понимаю, есть несколько причин, чтобы разделять бизнес-логику и реализацию:
    1) упростить каждый конкретный компонент (в ущерб усложнению архитектуры, стоит заметить);
    2) добавить возможность заменить внедряемую реализацию на другую;
    3) тестирование.
    Мой проект, во-первых, имхо, недостаточно сложный, чтобы запариваться с абстрагированием получения данных от их отображения. Во-вторых, менять тот же самый axios, например, на что-то другое точно не придется. В-третьих, тестов, malheureusement, не предвидится. Так стоит ли мне тратить время на это или нет?
    Понятно, что такие нюансы обсуждать с новичками затратно. У учителя математики в школе тоже нет времени объяснять ученику, зачем нужны косинусы и синусы, проще заставить заучить.
    В итоге все делают что-то, просто чтобы делать что-то. Пример: иммутабельность в React-Redux. 99%-ам пользователей она нафиг не сдалась. Но так правильно, так давайте писать вместо одной строки пять, чтобы было по канону.
    В конце небольшой философский вопрос) Кто хороший разработчик: кто пишет всегда хороший, универсальный и доступный код или тот, кто пытается максимально эффективно потратить человекочасы и, соответственно, деньги клиента?

    • @murchenko99
      @murchenko99 Před 3 lety +1

      Просто вынести отдельно файлик с апи запросамм не займет больше времени чем обычно, но зато когда тебе прийдётся вдруг один апи запрос поменять с /get/shop на /get_shop
      Тебе не прийдётся бегать по всему проекту изменять эту строку, а просто зайти в один файлик со всеми апишками и поменять там

    • @murchenko99
      @murchenko99 Před 3 lety

      По последнему вопросу нужно всегда держать золотую середину) не писать слишком плохо и не упарываться в идеальный код)

    • @JavaScriptNinja
      @JavaScriptNinja  Před 3 lety +5

      Ответ очень простой. Если какая-то практика не ухудшает время на разработку (а разделение чего-то на два файла не ухудшает время на разработку) или ухудшает незначительно (условные 20%) - мы применяем ее безусловно
      Разделение бизнес-логики и транспорта -как раз такая практика. Более того (мы еще увидим это) в отдельных сценариях она ускоряет разработку. Почему? Потому что мы можем проверить что слой api работает так как нам надо до начала написания компонентов

    • @PSMercenary
      @PSMercenary Před 3 lety +3

      "Вероятность того, что он будет модернизироваться или расширяться, стремится к нулю". Ты этого не знаешь. Меня учили не угадывать вероятность, а создавать гибкие системы и думать о других разработчиках. С обратным я сталкиваюсь часто, когда заложенная кем-то архитектура год-два назад не позволяет быстро реализовать новую фичу и приходиться думать куда и какой костыль вставить. А думать больно.

  • @SpiderCat934
    @SpiderCat934 Před 3 lety +1

    Почему же не использовать axios я не понял и что же использовать.

  • @user-mh2fc5rs9r
    @user-mh2fc5rs9r Před 3 lety +1

    но как же так, отображение (Vue) - это не бизнес логика. А если вам тот же домен нужно будет перенести с вэба в мобилу?

    • @germanmalinovsky1719
      @germanmalinovsky1719 Před 3 lety +1

      Да, не бизнес-логика, а представление c логикой этого представления в первую очередь. Бизнес-логика работает с моделью и бизнес-правилами. И то, что назвали "реализация" в этом ролике это инфраструктура.

  • @artyom_ss
    @artyom_ss Před 3 lety +5

    Поехали, из ждуниоров в мидлы!

  • @gritsienkooleg3447
    @gritsienkooleg3447 Před 2 lety

    Даа , как раз пришёл спрашивать о вынесении безнес логики, когда один компонент заполнился axios'ами и всеми возможными отображениями.. Так противно смотреть в такой код, трудно держать всё в голове )
    Разделяй и влавствуй!

  • @oleksiykurylyuk4696
    @oleksiykurylyuk4696 Před 2 lety

    клиентский код это и есть бизнес логика?

  • @AndriiKuftachov
    @AndriiKuftachov Před 3 lety +1

    Тема сисек не раскрыта. В смысле, сервисов.
    Вот разве не стоит сделать как в Angular отдельный слой между компонентом и слоем получения (отправки) данных, где поместить логику приложения (не отображения)?

    • @JavaScriptNinja
      @JavaScriptNinja  Před 3 lety +7

      А видео не про слой сервисов вовсе :) Моя задача дать доступные (даже не абсолютно верные определения). А к слою сервисов мы еще вернемся и в том числе к вечному вопросу "где размещать логику приложения"

  • @andTutin
    @andTutin Před 3 lety +1

    Всё что-ли ?

    • @JavaScriptNinja
      @JavaScriptNinja  Před 3 lety +1

      Почитайте вкладку "сообщество" канала. Отвлекли, продолжаем :)