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

แชร์
ฝัง
  • เผยแพร่เมื่อ 17 ม.ค. 2025

ความคิดเห็น • 183

  • @palkan2590
    @palkan2590 ปีที่แล้ว +147

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

    • @ulietaight
      @ulietaight ปีที่แล้ว +7

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

    • @arturhimself
      @arturhimself ปีที่แล้ว +5

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

    • @palkan2590
      @palkan2590 ปีที่แล้ว +3

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

    • @alexpavlenko4719
      @alexpavlenko4719 ปีที่แล้ว +7

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

    • @BestDron
      @BestDron ปีที่แล้ว +1

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

  • @falsetrue7910
    @falsetrue7910 ปีที่แล้ว +31

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

  • @ded-insult
    @ded-insult ปีที่แล้ว +9

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

  • @armenchik_dzhan
    @armenchik_dzhan ปีที่แล้ว +50

    @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 11 หลายเดือนก่อน +1

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

  • @Вячеслав-ж1т9ь
    @Вячеслав-ж1т9ь ปีที่แล้ว +7

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

  • @ЭзамАппаева
    @ЭзамАппаева ปีที่แล้ว +8

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

  • @pesilwoof
    @pesilwoof 11 หลายเดือนก่อน

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

  • @АлинаСусликова
    @АлинаСусликова ปีที่แล้ว +2

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

  • @bobbybob628
    @bobbybob628 ปีที่แล้ว +3

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

  • @gansgarnett4516
    @gansgarnett4516 ปีที่แล้ว +2

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

  • @krimax0
    @krimax0 ปีที่แล้ว +3

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

  • @НикитаТорбенко
    @НикитаТорбенко ปีที่แล้ว +5

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

    • @helenit4365
      @helenit4365 ปีที่แล้ว +2

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

    • @adelinaromanova8353
      @adelinaromanova8353 ปีที่แล้ว +1

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

  • @valbv
    @valbv ปีที่แล้ว +3

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

  • @IlsurGabdulkhakov-w8f
    @IlsurGabdulkhakov-w8f 6 หลายเดือนก่อน

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

  • @НиколайСеливанов-и2в
    @НиколайСеливанов-и2в ปีที่แล้ว +2

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

  • @haykyolyan2511
    @haykyolyan2511 ปีที่แล้ว +2

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

  • @shittywizzard5727
    @shittywizzard5727 ปีที่แล้ว +2

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

  • @СтепашкаСокович
    @СтепашкаСокович 6 หลายเดือนก่อน

    скорее всего, это одно из лучших русскоязычных видео по архитектуре

  • @1caccount756
    @1caccount756 ปีที่แล้ว +2

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

  • @anpoliakov
    @anpoliakov ปีที่แล้ว

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

  • @MarkA12
    @MarkA12 ปีที่แล้ว +1

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

  • @maksimkraev2237
    @maksimkraev2237 ปีที่แล้ว +2

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

  • @natalyaiv3414
    @natalyaiv3414 ปีที่แล้ว +2

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

  • @ВикторОрлянский-я5ц
    @ВикторОрлянский-я5ц ปีที่แล้ว

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

  • @artyomsultanov5204
    @artyomsultanov5204 ปีที่แล้ว +1

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

  • @magister-iy7rq
    @magister-iy7rq ปีที่แล้ว +68

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

  • @vakhr
    @vakhr ปีที่แล้ว +1

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

  • @skyand_fly
    @skyand_fly 4 วันที่ผ่านมา

    Спасибо за материал 🎉❤

  • @some_body_qtyeeuy
    @some_body_qtyeeuy ปีที่แล้ว +1

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

  • @irinafadeeva1387
    @irinafadeeva1387 9 หลายเดือนก่อน

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

  • @nik_markio
    @nik_markio ปีที่แล้ว +2

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

  • @АльбертАлександров-ч9ж
    @АльбертАлександров-ч9ж ปีที่แล้ว

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

  • @СтасМилосердов-и6ж
    @СтасМилосердов-и6ж ปีที่แล้ว +1

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

  • @alpenapple
    @alpenapple ปีที่แล้ว +2

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

  • @Sergey.Aleksandrovich.P-37rus
    @Sergey.Aleksandrovich.P-37rus ปีที่แล้ว

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

  • @Akhmad_Dag
    @Akhmad_Dag 5 หลายเดือนก่อน

    Пишу на Python, но все было четко и ясно.
    Спасибо!

  • @Андрій_Ляшенко
    @Андрій_Ляшенко ปีที่แล้ว

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

  • @Копилкапозитива-щ1ъ
    @Копилкапозитива-щ1ъ ปีที่แล้ว +4

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

  • @ValentinProtasevich
    @ValentinProtasevich ปีที่แล้ว +1

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

  • @АртемРащепкин-ф4н
    @АртемРащепкин-ф4н ปีที่แล้ว

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

  • @vtsel-lp4jv
    @vtsel-lp4jv ปีที่แล้ว

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

  • @romanbush5164
    @romanbush5164 7 หลายเดือนก่อน +1

    Спасибо наконец-то приходит понимание DDD архитектуры, так вот что это стандартные сервисы и репозитории, слоистая архитектура.

  • @darkside2436
    @darkside2436 ปีที่แล้ว +4

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

  • @extense1337
    @extense1337 ปีที่แล้ว +2

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

  • @ИльясБикенов
    @ИльясБикенов ปีที่แล้ว

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

  • @vitjaz_7591
    @vitjaz_7591 ปีที่แล้ว

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

  • @feliche-demiannetliukh3703
    @feliche-demiannetliukh3703 7 หลายเดือนก่อน

    Класный ролик, смотрел ролик по SOLID давно, но только наконец понял DIP. + начал понямимать dependency injection патерн не в призме фреймворка, а больше как паттерн
    P.S. Класный неон стиль кстати, глаза радует)

  • @Виктор-н7к4в
    @Виктор-н7к4в 2 หลายเดือนก่อน

    Спасибо, полезное видео. Хорошо изложено. Можно было бы добавить примеров кроме интернет магазина, но все итак предельно структурировано.

  • @assetdev1859
    @assetdev1859 ปีที่แล้ว +2

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

  • @NazarKovalchuk-i6t
    @NazarKovalchuk-i6t ปีที่แล้ว +1

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

  • @ilyapro2815
    @ilyapro2815 ปีที่แล้ว

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

  • @ivank.5319
    @ivank.5319 ปีที่แล้ว

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

  • @kennyotsu4357
    @kennyotsu4357 ปีที่แล้ว +59

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

    • @ИльясЖунусов-э6ч
      @ИльясЖунусов-э6ч ปีที่แล้ว +2

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

    • @yundon8182
      @yundon8182 ปีที่แล้ว

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

    • @xyzw777
      @xyzw777 8 หลายเดือนก่อน

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

    • @backend404
      @backend404 3 วันที่ผ่านมา

      У вас получилось?

  • @brearey
    @brearey ปีที่แล้ว +4

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

  • @роматарасов-о8л
    @роматарасов-о8л ปีที่แล้ว

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

  • @gooseman5578
    @gooseman5578 ปีที่แล้ว +1

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

  • @bimal163
    @bimal163 ปีที่แล้ว +1

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

  • @Vedar.
    @Vedar. ปีที่แล้ว +2

    🔥🔥🔥

  • @РоманДиохтиовский
    @РоманДиохтиовский ปีที่แล้ว +4

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

    • @ell1ar
      @ell1ar ปีที่แล้ว +7

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

  • @dima__rx5fw3rm1n
    @dima__rx5fw3rm1n ปีที่แล้ว +1

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

  • @SeydametBilyalov
    @SeydametBilyalov ปีที่แล้ว +4

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

  • @cheshiressmile1404
    @cheshiressmile1404 ปีที่แล้ว +3

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

  • @fgood574
    @fgood574 ปีที่แล้ว +2

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

    • @abraham3345
      @abraham3345 หลายเดือนก่อน

      Может проще пересесть на комп чем заставлять автора подстраивать логика как для ПК так и для тлф?
      Такие видео конспектируются, а не просто смотрятся, с телефона точно этого не сделать

    • @fgood574
      @fgood574 หลายเดือนก่อน

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

  • @eldiiarsaparbekov5397
    @eldiiarsaparbekov5397 ปีที่แล้ว

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

  • @iforcewmaster3049
    @iforcewmaster3049 ปีที่แล้ว

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

  • @МаксимМухарёв-п8г
    @МаксимМухарёв-п8г ปีที่แล้ว

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

  • @meteysh
    @meteysh 10 หลายเดือนก่อน

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

  • @HEX_CAT
    @HEX_CAT ปีที่แล้ว +2

    ❤❤❤

  • @moranyt8299
    @moranyt8299 10 หลายเดือนก่อน

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

  • @НиколайВербило
    @НиколайВербило 5 หลายเดือนก่อน

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

  • @DmitryDemis
    @DmitryDemis หลายเดือนก่อน

    Здравствуйте, в какой программе монтаж делали?

  • @AntonyMadaliev
    @AntonyMadaliev ปีที่แล้ว

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

  • @-dubok-
    @-dubok- ปีที่แล้ว +1

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

    • @xyzw777
      @xyzw777 8 หลายเดือนก่อน

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

    • @-dubok-
      @-dubok- 8 หลายเดือนก่อน

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

    • @xyzw777
      @xyzw777 8 หลายเดือนก่อน

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

    • @-dubok-
      @-dubok- 8 หลายเดือนก่อน

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

    • @xyzw777
      @xyzw777 8 หลายเดือนก่อน

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

  • @vtsel-lp4jv
    @vtsel-lp4jv ปีที่แล้ว +1

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

    • @ilyapro2815
      @ilyapro2815 ปีที่แล้ว

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

  • @ПётрПетров-д2ч4х
    @ПётрПетров-д2ч4х ปีที่แล้ว

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

  • @ya_araik
    @ya_araik ปีที่แล้ว

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

  • @i_ve_given_up
    @i_ve_given_up ปีที่แล้ว +2

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

    • @Fartek2
      @Fartek2 ปีที่แล้ว +4

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

    • @BestDron
      @BestDron ปีที่แล้ว +1

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

  • @Akonitx
    @Akonitx ปีที่แล้ว

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

  • @igor_cojocaru
    @igor_cojocaru ปีที่แล้ว +1

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

  • @gabblz480
    @gabblz480 ปีที่แล้ว +2

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

  • @seregaant68
    @seregaant68 7 หลายเดือนก่อน

    Блин, не понял одного, а как это связать с фреймворками (React, Django, ...)?

  • @yashkevich8164
    @yashkevich8164 8 หลายเดือนก่อน

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

  • @Ivan-qp8yd
    @Ivan-qp8yd ปีที่แล้ว +1

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

    • @gizmolo4
      @gizmolo4 ปีที่แล้ว +1

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

  • @seryozhamangushev9638
    @seryozhamangushev9638 ปีที่แล้ว

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

  • @dianadvoryak
    @dianadvoryak ปีที่แล้ว +1

    круто !

  • @vendjin
    @vendjin ปีที่แล้ว +1

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

  • @kronohcr2436
    @kronohcr2436 ปีที่แล้ว

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

  • @Andrey_Ks11
    @Andrey_Ks11 ปีที่แล้ว

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

  • @kozii-d
    @kozii-d ปีที่แล้ว

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

  • @Norskium
    @Norskium ปีที่แล้ว

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

  • @holfizzz
    @holfizzz ปีที่แล้ว +2

    ура❤

  • @AlexanderAlexander-z1d
    @AlexanderAlexander-z1d ปีที่แล้ว

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

  • @markeeff3406
    @markeeff3406 ปีที่แล้ว

    Есть источники с тематичечкой литературой для новичков?

  • @IlyaKuznetsov1983
    @IlyaKuznetsov1983 ปีที่แล้ว

    Молоток!

  • @gizmolo4
    @gizmolo4 ปีที่แล้ว

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

  • @andrewskripko2311
    @andrewskripko2311 ปีที่แล้ว

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

  • @adammason482
    @adammason482 ปีที่แล้ว

    спасибо!

  • @IDontWannaDoThisAnymore
    @IDontWannaDoThisAnymore หลายเดือนก่อน

    Спасибо

  • @devKenny
    @devKenny ปีที่แล้ว

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

  • @VanyaMate
    @VanyaMate ปีที่แล้ว

    Вопрос связан с DI-контейнером, думаю. А как объяснить ему, какую реализацию нужно подставить, если мы создали несколько? Если вручную указывать, то тут всё понятно, но а если используем DI-контейнер?