Слоистая архитектура. Луковая (onion) архитектура. Слои, изоляция, DI, solid

Поделиться
HTML-код
  • Опубликовано: 25 июн 2023
  • В этом ролике мы рассмотрим одну из самых популярных архитектур ПО. Многослойная\слоистая\луковая архитектура. Рассмотрим на примере. Поговорим про Dependency inversion и dependency injection
    Курс "Продвинутый Frontend. в Production на React" - ulbitv.ru/frontend
    Плейлист с роликами по архитектуре - • Архитектура ПО
    Поддержать меня и мой канал вы можете по ссылкам ниже.
    Patreon/boosty (доступ к бонусам) - boosty.to/ulbitv
    Qiwi кошелек - qiwi.com/n/BODYE821
    Яндекс деньги - yoomoney.ru/to/4100116193037469
  • НаукаНаука

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

  • @palkan2590
    @palkan2590 10 месяцев назад +117

    "Великаны не так просты, как кажется, великаны - они как лук. Многослойные!" (с) Шрек

    • @user-me6vb7gw9c
      @user-me6vb7gw9c 10 месяцев назад +6

      зашёл ради этого коммента

    • @arturhimself
      @arturhimself 10 месяцев назад +5

      «Ты запутался в своих слоях, лучок» 😂

    • @palkan2590
      @palkan2590 10 месяцев назад +3

      @@arturhimself я ждал тебя

    • @alexpavlenko4719
      @alexpavlenko4719 10 месяцев назад +6

      Воняют. Доводят до слёз.

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

      Все обьесняют это архитектуру очень сложно.
      Я понимаю её так.
      1: Есть слой Core- в нём есть слой Domen и Application
      2: в слой application адаптеры для внешних сервисов бд. и ui и ТД. В нём же находиться бизнес логика приложения он зависит только от слоя Domen.
      3: Domen слой самый независимый он не чего незнает о других слоях. Вся связь между предметной областью и другими частями приложения в слои Application он знает о бо всех слоях, но лучше через интерфейсы.
      Главный принцип слой домена независимый.

  • @falsetrue7910
    @falsetrue7910 10 месяцев назад +24

    Ждал продолжения серии видео по архитектуре, очень полезно! Спасибо
    Жду чистую архитектуру, гексоганальную, реактивную

  • @user-zk3bc1lf8k
    @user-zk3bc1lf8k 10 месяцев назад +7

    Ура! Мы ждали.
    С возвращением🎉
    Спасибо за труды!

  • @user-up2oj4tv8f
    @user-up2oj4tv8f 10 месяцев назад +7

    Кстати отличное объяснение инверсии зависимостей и внедрения зависимостей. Почти в любой литературе примеры настолько абстрактные что пока на практике не столкнешься не поймешь. Спасибо за видео! Просто лучший!

  • @yuriuss
    @yuriuss 3 месяца назад

    Смотрю 3й ролик, ты умеешь хорошо, чётко, без воды всё объяснить. Спасибо за работу!

  • @user-ys9po4bp8o
    @user-ys9po4bp8o 10 месяцев назад

    Тимур, спасибо за ролик, как раз во время. Качество контента и обновленный визуал радует!

  • @user-if5bk7ee5q
    @user-if5bk7ee5q 9 месяцев назад +1

    Очень наглядно предоставлена информация!!! спасибо, Тимур, за ваш труд! Визуал максимально понятный и эстетичный!

  • @gansgarnett4516
    @gansgarnett4516 10 месяцев назад +1

    Лучший! Учу C++ но периодически смотрю твой канал для расширения кругозора, ведь те вещи о которых ты говоришь также хорошо ложатся и на другие ЯПшки. Обнял, поднял)

  • @user-hv8kp2oh6f
    @user-hv8kp2oh6f 8 месяцев назад

    Все четко и доступно! Спасибо!😊

  • @maksimkraev2237
    @maksimkraev2237 10 месяцев назад +2

    Спасибо большое! Как всегда, очень понятное объяснение))

  • @natalyaiv3414
    @natalyaiv3414 10 месяцев назад +2

    Спасибо! ❤👍
    Поздравляю с защитой!

  • @bobbybob628
    @bobbybob628 10 месяцев назад +3

    сначала лайк не глядя, потом смотрим
    спасибо, Тимур)
    пошел смотреть

  • @anpoliakov
    @anpoliakov 7 месяцев назад

    Классно визуализируешь подачу, объясняешь, спасибо!

  • @valbv
    @valbv 10 месяцев назад +3

    Спасибо за ролик! Во время просмотра была мысль, что визуал очень приятный.
    Донесение сути информации без воды тоже радует
    "Чистой архитектура" Роберта Мартина - замечательная книга

  • @1caccount756
    @1caccount756 10 месяцев назад +2

    Все четко и по делу. Спасибо!!!

  • @user-wd7ql4gb6l
    @user-wd7ql4gb6l 10 месяцев назад

    Все по полочкам, супер!🎉 Спасибо

  • @MarkA12
    @MarkA12 10 месяцев назад +1

    С такой структурой как начал работать, сразу стал кайфовать

  • @vakhr
    @vakhr 10 месяцев назад +1

    Круто, спасибо большое. Очень детально и интересно

  • @user-sy1wv7yl4n
    @user-sy1wv7yl4n 8 месяцев назад

    Очень круто! Спасибо большое за видео!

  • @krimax0
    @krimax0 10 месяцев назад +3

    Спасибо большое за разжеванный контент! Я закрыл практически все свои пробелы в знаниях backend. Очень редко пишу комментарии, но хотел тебя под бодрить тебя своим комментарием. Я очень расстроен что подобные ролики получают мало просмотров. Удачи!

  • @artyomsultanov5204
    @artyomsultanov5204 10 месяцев назад +1

    Тимур, большое спасибо! Отлично объяснил!

  • @some_body_qtyeeuy
    @some_body_qtyeeuy 10 месяцев назад +1

    Супер! Очень полезный ролик! Спасибо

  • @shittywizzard5727
    @shittywizzard5727 10 месяцев назад +2

    Отличный видос, ждем новых. Обнял-приподнял :D

  • @irinafadeeva1387
    @irinafadeeva1387 Месяц назад

    Спасибо за ролик! Все четко и понятно объяснили)

  • @ValentinProtasevich
    @ValentinProtasevich 10 месяцев назад +1

    Огромное спасибо, очень полезное видео)

  • @nik_markio
    @nik_markio 10 месяцев назад +2

    Крутой видос, большое спасибо)

  • @armenchik_dzhan
    @armenchik_dzhan 10 месяцев назад +40

    @UlbiTV Отличный ролик, очень хорошо описал суть DI и то, как изолироваться от базы данных и прочей инфраструктуры 👍. Единственное отмечу один анти-паттерн, который ты используешь. Это анемичная доменная модель. По-хорошему в больших сложных проектах Логику нужно не просто класть в service. А распределять между 3-мя объектами: service, entity, value object. И, как правило, чем правее, тем лучше. Потому что если всё писать в сервисе, один метод может разрастись на 100 строк и вместо читаемой бизнес логики ты получишь так называемые transaction scripts. Transaction scripts и анемичные модели могут нормально работать в простых кейсах, без большого количества логики. Но если у вас большой сложный домен, это становиться гораздо труднее читать, поддерживать, понимать и т.д. Доменная модель - это не описание данных, это в первую очередь описание поведения тех или иных сущностей, а данные второстепенные и по возможности инкапсулируются, а объекты этой доменной модели являются не "глупыми", а "умными", они содержат методы и value object-ы которые тоже содержат свои методы.
    Для саморазвития в этом направлении рекомендую книжку:
    Implementing Domain-Driven Design
    А также статьи:
    fowler:
    - martinfowler.com/bliki/AnemicDomainModel.html
    - martinfowler.com/bliki/ValueObject.html
    enterprise craftsmanship:
    - enterprisecraftsmanship.com/posts/domain-vs-application-services/
    - enterprisecraftsmanship.com/posts/nesting-value-object-inside-entity/
    - И много других интересный статей - enterprisecraftsmanship.com/posts
    Не для того, наверное, ООП было придумано, чтобы императивно писать всю логику в сервисах =)))

    • @AmirLatypov
      @AmirLatypov 3 месяца назад

      И тем не менее, от ООП продолжаем уходить ;).
      Чтобы был не один большой сервис, можно сделать несколько. Передавать «глупые» структуры данных намного легче и надежнее, чем умные модели. Во всяком случае долгосрочно.
      Поэтому Unix way подход - функция принимает на вход данные, а не классы со своим внутренним миром.

  • @meteysh
    @meteysh Месяц назад

    Очень круто! 🎉

  • @user-kh3vy6id3h
    @user-kh3vy6id3h 9 месяцев назад

    Спасибо большое за контент!

  • @user-ue7lj2to9q
    @user-ue7lj2to9q 10 месяцев назад +2

    Привет. С возвращением. С защитой диплома. 🎉

  • @haykyolyan2511
    @haykyolyan2511 10 месяцев назад +2

    Спасибо автору, комментарий в поддержку

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

    Как всегда огонь🤯🤯

  • @eunicsi
    @eunicsi Месяц назад

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

  • @user-go4bj1wi8k
    @user-go4bj1wi8k 9 месяцев назад +1

    Большое спасибо за контент, очень грамотно объясняешь!
    Смотрел твои видео по vue, очень сильно помогли, особенно трехчасовое
    Очень бы хотел еще один урок с vue 3, nuxt и typescript
    Думаю зайдет шикарно

  • @Sergey.Aleksandrovich.P-37rus
    @Sergey.Aleksandrovich.P-37rus 9 месяцев назад

    Просмотрел до конца...подписался,+лайк

  • @user-dw8lb8lc7u
    @user-dw8lb8lc7u 10 месяцев назад

    очень крутой видос
    СПАСИБО!

  • @alpenapple
    @alpenapple 10 месяцев назад +2

    Спасибо тебе!

  • @bimal163
    @bimal163 10 месяцев назад +1

    Ты вернулся !!!)

  • @ivank.5319
    @ivank.5319 10 месяцев назад

    Спасибо, как бы это все ещё понять и собрать.

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

    Тимур, спасибо за такой хороший ролик! И, особенно, за примеры и пояснения.
    Этот ролик я бы рекомендовал сразу после ознакомления c SOLID принципами, чтобы S и D закрепить.

  • @user-ku3bx8we1c
    @user-ku3bx8we1c 10 месяцев назад

    Очень полезно, спасибо!

  • @extense1337
    @extense1337 10 месяцев назад +2

    Отличный видос, молодец, круто вышло

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

    спасибо за контент!

  • @user-ky8dr1hu5e
    @user-ky8dr1hu5e 10 месяцев назад

    Приятное видео!

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

    написанное в видео очень сильно напоминает нест. очень годное видео, спасибо за объяснения!

  • @vtsel-lp4jv
    @vtsel-lp4jv 10 месяцев назад

    Слоистая архитектура. Луковая (onion) архитектура. Слои, изоляция, DI, solid, спасибо!

  • @ded-insult
    @ded-insult 10 месяцев назад +7

    Братан, хорош, давай, давай, вперёд! Контент в кайф, можно ещё? Вообще красавчик! Можно вот этого вот почаще?

  • @user-dw5gp1ou1y
    @user-dw5gp1ou1y 10 месяцев назад +4

    Братан, поздравляю с защитой диплома, спасибо за контент, ты топ

    • @helenit4365
      @helenit4365 10 месяцев назад +2

      Тима, с защитой диплома магистратуры МГУ и получением премии "Прорыв года" в айти!!!!!

    • @adelinaromanova8353
      @adelinaromanova8353 10 месяцев назад +1

      Ого!!! Поздравляю!!!

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

    топовый контент)

  • @adammason482
    @adammason482 8 месяцев назад

    спасибо!

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

    Очень круто и по-взрослому выглядит эта архитектура. Хотелось бы видос, типа "создание приложения с 0" на её основе

  • @devKenny
    @devKenny 4 месяца назад

    Красавчик вообще

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

    Молоток!

  • @kennyotsu4357
    @kennyotsu4357 10 месяцев назад +57

    Плюсы: звучит вкусно
    Минусы: хочется плакоть….

    • @user-lu7mm8bw1m
      @user-lu7mm8bw1m 10 месяцев назад +2

      на самом деле на практике это в разы легче понять )

    • @yundon8182
      @yundon8182 9 месяцев назад

      Просто Тимур любит утрировать и пугать своим тоном голоса, перечисляя много всякого

    • @xyzw777
      @xyzw777 14 дней назад

      11:55 неа😅, в реальности бизнес модель меняется каждый день, а вот инструментарий почти константа

  • @Vedar.
    @Vedar. 10 месяцев назад +2

    🔥🔥🔥

  • @magister-iy7rq
    @magister-iy7rq 10 месяцев назад +66

    было бы прекрасно посмотреть реализацию на разных архитектурах, т.е. не маленькие условные примерчики, а конкретную реализацию

    • @user-ru6qv3vp6p
      @user-ru6qv3vp6p 10 месяцев назад +1

      есть в курсе у улбика

  • @darkside2436
    @darkside2436 10 месяцев назад +4

    Монтаж огонь 🔥

  • @dianadvoryak
    @dianadvoryak 10 месяцев назад +1

    круто !

  • @user-wg2lq7qz7m
    @user-wg2lq7qz7m 10 месяцев назад +3

    все красиво на бумаге - но забыли про овраги ))
    надо бы практический курс применения этого всего - уверен там будет куча подводных камней, особенно связка одной доменной модели с другой

  • @user-lg1tj8ty9o
    @user-lg1tj8ty9o 10 месяцев назад +1

    Раскрыл луковицу по слоям КРУТО)

  • @assetdev1859
    @assetdev1859 10 месяцев назад +2

    лучший тимур!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

  • @fgood574
    @fgood574 10 месяцев назад +1

    Автор супер объясняешь, но ещё будет плюсом если видео будут заточены под телефон) иногда с телефона смотрю, и надписи плохо видно. Вот как пример ютуберы Владилен итд даже через телефон их удобно смотреть, не знаю как они настроили, но думаю можешь взять на заметку)

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

    Очень круто описал.
    Было бы круто видос, прям фулл гайд, как структурировать папки/файлы в проекте и главное как правильно их наименовать. Либо скинь пж, где можно об этом подробнее почитать.

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

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

  • @HEX_CAT
    @HEX_CAT 10 месяцев назад +2

    ❤❤❤

  • @cheshiressmile1404
    @cheshiressmile1404 10 месяцев назад +3

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

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

    крутяк!!!!!!

  • @holfizz7868
    @holfizz7868 10 месяцев назад +2

    ура❤

  • @moranyt8299
    @moranyt8299 Месяц назад

    Так, походу я понял, надеюсь меня теперь возьмут на джуна с такими знаниями =)

  • @vtsel-lp4jv
    @vtsel-lp4jv 10 месяцев назад +1

    Очень хотелось бы подробный(как всегда) ролик по FSD🙌

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

      про FSD рассказывалось в рамках другого видео из этого же плейлиста.

  • @user-mo1su1zq3h
    @user-mo1su1zq3h 10 месяцев назад

    Привет! Тимур! В каком редакторе делаешь такие видео?
    PS: В старых видео мелковат шрифт бывает, в этом показался крупноват.

  • @igor_cojocaru
    @igor_cojocaru 10 месяцев назад +1

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

  • @ShaidarHaran87
    @ShaidarHaran87 10 месяцев назад +2

    Топ контент

  • @SeydametBilyalov
    @SeydametBilyalov 10 месяцев назад +3

    Спасибо за видео.
    Но есть ли пример, пусть и не большого, но рабочего проекта с использованием такого подхода? Google много выдает такого. Но хотелось бы услышать от тебя: «вот репозиторий на GitHub с проектом в котором хорошо показано принципы и подходы о которых я говорил»

  • @user-ux4le1tf3y
    @user-ux4le1tf3y 10 месяцев назад +1

    Извини меня за вопрос не по теме, но какую версию вебшторма ты используешь? Тк на последней версии 2022 и 2023.1 при работе с MUI дико фризит

  • @user-lw3lc8yv4d
    @user-lw3lc8yv4d 10 месяцев назад +5

    Хотелось бы увидеть пример такой слоистости на Реакт или Вью

    • @ell1ar
      @ell1ar 10 месяцев назад +7

      Луковая архитектура под бэкенд. Под фронтенд всякие FSD, модульные простые архитектуры

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

    IoC контейнер, все-таки ) предыдущие видео очень хорошо все было, тут немного сумбурно ( ну и всем посмотревшим - все это очень сложно осознать без практики, и как сказал Тимур - не сущестует архитектуры, прибитой гвоздями )

  • @ya_araik
    @ya_araik 9 месяцев назад

    Был бы очень благодарен за объяснение от тебя технологии grpc

  • @gingun95
    @gingun95 17 дней назад

    Для новичков в жтой теме ок видео. Но если копать глубже, то стоило хотя бы поговоить про use case на слое сервисов и анемичные модели и их проблемы на слое домена. Слой сервисов тоже описан не оч хорошо как и слой домена. Опять таки обычно слоистая арзитектура за ручку с ддд идёт в паре, а это тоде тема нн простая. Крч как по сне наверное стоило сделать серию роликов, которая почтепенно углублялась бы, ечли всё-таки стремиться к более полной картине. Если такого стремоения у автора нет, то и так как есиь сойдёт.

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

    Ulbi TV Привет, у меня идея. Смотри, есть понимание, что js - это однопоточный язык, а как на счет того что бы записать видео о том, как можно имулировать многопоточность используя микротаски.
    Мне кажется, это интересный сюжет для видео. Подобного контента в интернете кажется нет, а статьи написаны на эту тему поверхностно. Будет круто если ты сможешь объяснить на практике такую задачу. Вообще многопоточность на js, это и в прям немного не обычно как я считаю. Что думаешь?

  • @gabblz480
    @gabblz480 10 месяцев назад +2

    Примерно архитектура Angular, как я понял

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

    С чего начать изучать программирование: с PHP или c++/c#?

  • @Andrey_Ks11
    @Andrey_Ks11 4 месяца назад

    Немного запутался. Правильно ли я рассуждаю. Получается что в domain model мы создаем интерфейсы моделей. В repository пишем интерфейсы для бизнес логики. А в services мы реализуем эту логику. А на слое infrastructure мы уже используем наши сервисы? Или же реализуем новый функционал, например связь с бд, на основе тех интерфейсов, что находятся в ядре. Верно рассуждаю?

  • @brearey
    @brearey 10 месяцев назад +4

    Спасибо. Вопрос: можно ли без type script на java script имплементировать такую архитектуру?

  • @dima__rx5fw3rm1n
    @dima__rx5fw3rm1n 6 месяцев назад +1

    Я смотрел курс архитектуры на джаве, у них там какой-то персистенс слой часто фигурирует. Что бы он мог делать?

  • @i_ve_given_up
    @i_ve_given_up 10 месяцев назад +2

    Интересно узнать мнение: важно ли согласовывать архитектуру бэкенда и фронтенда? Есть ли какие-то более удачные варианты использования архитектур фронта и бэка, которые дают приемущество? Например, слоистая на бэке + микрофронтенд = ...

    • @Fartek2
      @Fartek2 10 месяцев назад +4

      это два независимых приложения, они никак не должны быть связаны никакой архитектурой

    • @BestDron
      @BestDron 10 месяцев назад +1

      Swager в помощь, и все проблемы решаются. Архитектура Бека зависит от безнес задачи. Иногда нахер не нужны все эти архитектуры и люди натягивают сову на глобус.

  • @hhullen
    @hhullen 2 месяца назад

    Можно не обьяснить один момент пожалуйста. В контроллере создается DTO объект и передается там в сервис, например, чтобы записать в БД. Там, для записи в БД, эти данные конвертируются в другие структуры из db/entities. Так вот, для чего тогда вообще структуры из core/entities?

  • @yashkevich8164
    @yashkevich8164 10 дней назад

    Очень хорошее видео, автор крут овсе объясняет. Я только не понял зачем перегонять ответ из БД в другую ДТО в Кор слой? Если мы используем ОРМ мы и так оттуда достанем полноценную Энтити.
    И еще вопрос. Вот как говорит автор мы делаем несколько интерфейсов Репозиториев и имплементим их в сервисы, что бы потом можно было лекго подменить реализацию, будь то из файла или из БД. А вот если нам надо будет Юзера достать с другого Апи например, как это правильно сделать??
    Предположу что делаем некий Провайдер интерфейс и инжектим его в новый Репозиторий ??? и уже на сонове этого провайдера реализуем методы репозитория???
    А если в дальнейшем будет несколько версий Апи, то нам уже придется делать провайдер интерфейс и на его основе реализовывать разные провайдеры и инжектить их в репозитории???

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

    Неплохое видео, но.
    1) то что вы называете слоями - я бы назвал функциональным назначением. Ибо получается что 3 "внутренних слоя" и создают ядро домена. А если модель у вас лежит ниже всех - то она не может не от кого зависеть и получится как минимум анемичной (что не всегда удобно, но надёжнее). Обычно выделяют Data (откуда и куда данные берутся) / Domain (бл) / View(как это попадёт в глаза юзеру - форматирование, локаль и тд) layer. (можно ещё выделить application / render layer)
    2) архитектура = правила устройства системы. А отражаться они могут в названиях файлов, папок, классов, методов и тд. Так и в том, кто от кого может зависеть, а кто нет. Ну и какой код в какой функциональный файл (модель, контроллер, кейс и тд) ложить.
    3) я бы сказал что универсальные архитектуры существуют. Только для большинства проектов это будет оверинжиниринг.
    4) лучше, как по мне, разбивать папки так = слой > сущность > функционал. Из сущностей можно делать удобные модули для DI.
    5) не хватает упомянания DDD как связующего всех этих архитектурных стилей и подходов

  • @gooseman5578
    @gooseman5578 4 месяца назад

    8:22 как создание/удаление чего-либо в системе может НЕ зависеть от БД?
    и КАК взаимодействие с БД может быть там же, где UI/API/Обработчики/Контроллеры ??

  • @kades7
    @kades7 8 месяцев назад +1

    Лучшая архитектура серверного приложения, как по мне - это EDA (Event Driven Architecture), то есть основанная на событиях. Потому что сервер лучше всего работает в асинхронном событийном режиме, в режиме реагирования на события. И особенно хорошо, если построено всё по DDD.

    • @xyzw777
      @xyzw777 14 дней назад

      в банке нужно было перегнать кучу объектов, посчитали миллион шт/час через асинхронное апи, миллиард шт/час из одной бд в другую... как думаете что руководство банка подумало о EDA\DDD и т.п. в этот момент ;)

    • @kades7
      @kades7 14 дней назад

      @@xyzw777 пф, а где вы видели приложение, которое напрямую гоняет данные между БД? Сравнение вообще не корректное.

    • @xyzw777
      @xyzw777 14 дней назад

      @@kades7 erp\pdm и т.п. гонять данные между бд это etl, а обмен между разнородными источниками свойство нормальной бд

    • @kades7
      @kades7 13 дней назад

      ​@@xyzw777 для всего свои инструменты. Без EDA/DDD вы не сделаете нормальную распределённую систему, у вас всегда будет монолит со всеми его недостатки в сложной системе (спагетти, связность). А такая вещь как перегонка данных между базами - это не относится к общей архитектуре приложения, это может быть всего лишь частью сложной системы, которая построена по EDA, но внутри каждого модуля, конечно же, монолит. EDA - это клей между независимыми монолитными модулями. Без него у вас будет монолит из монолитов. А с ним у вас распределённая система, состоящая из монолитных модулей.

    • @xyzw777
      @xyzw777 13 дней назад

      @@kades7 производительная система всегда монолит. никто не мешает десяткам бд обмениваться инфой без костылей "внешнего" чужеродного кода, вопрос лишь для чего: горизонтальное масштабирование или отделение своей части от частей другого программиста. например на sql view с тригерами mssql я как-то написал учетную систему у которой не было ни одной строки "внешнего" кода, т.к. клиент был ms access где формочки сделаны мышью... как видите ни то что луковой архитектуры не понадобилось но и вообще фронт\ui разработчиков как таковых. _"спагетти, связность"_ вряд-ли вы про goto, только вы знаете что имели в виду

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

    Здравствуйте! Какие курсы по javascript с нуля посоветуете на ютубе?

  • @fan-it
    @fan-it 10 месяцев назад +1

    Сколько разработчиков и какого уровня нужно закладывать бизнесу? Если бизнес поведется на сею луковицу рассуждений

  • @vitya.obolonsky
    @vitya.obolonsky 10 месяцев назад

    Like

  • @kozii-d
    @kozii-d 10 месяцев назад

    Вопрос касаемный DTO. Если мы пишем приложение на TS, то зачем эти DTO определены ввиде классов? Разве мы не можешь для описание этих данных использовать те же интерфейсы?

  • @KGB1st
    @KGB1st 2 месяца назад

    Боже! Свершилось братцы. На примере фронта мы узнаем как работают технологии бека))

  • @alerya100
    @alerya100 9 месяцев назад

    доволі непогано коли я починав вивчаиті цибулькову архітектуру.

  • @user-vx3yc9lc7u
    @user-vx3yc9lc7u 2 месяца назад

    Делай еще паузы после предложений, а то воспринимается все как одно и как то можно еще обозначать переход к следующему абзацу/главе, чтобы зритель мог разделять информацию

  • @user-tk4lp2su1u
    @user-tk4lp2su1u 10 месяцев назад

    А можно ли в других сервисах использовать другие, и например использовать один сервис и там и там?

  • @Ivan-qp8yd
    @Ivan-qp8yd 10 месяцев назад +1

    Мне интересно как часто разработчики меняют орм или фреймворк или хотя бы базу данных на больших проектах?

    • @gizmolo4
      @gizmolo4 10 месяцев назад +1

      не часто. Но вот приделывать какой-нибудь кэш - вполне себе частая история, и когда у тебя хранение отделено от логики, это все делается буквально одним движением руки