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

  • @magicmanam
    @magicmanam 2 года назад +7

    Спасибо за системный и математический подход :)

  • @eabrega
    @eabrega Год назад +3

    Спасибо тебе, Человечище!

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

    Спасибо, отличная презентация!!

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

    Автор - красавчик! Есть чему поучиться

  • @Eugene.g
    @Eugene.g 2 года назад +4

    спасибо 👍

  • @VoroninPavel
    @VoroninPavel Год назад +8

    Это все хорошо и прекрасно, но самая сложная часть осталась не рассмотренной: а именно кросс-аггрегатная валидация.

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

      Согласен, что если перед выполнением какой то операции нужно дернуть другой агрегат или вообще другой контекст?

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

    зачёт

  • @DevBrothersPro
    @DevBrothersPro 2 года назад +4

    Спасибо за доклад. Интересная идея как использовать ValueObject из FluentValudator. К сожалению, предлагаемое решение не production ready т.к. оно не позволяет для поля вернуть сразу все ошибки при его валидации. Для полей типа пароля это важно. Лучше было меньше времени посвятить теории множеств, а больше - практичности подаваемого материала

    • @user-jp8bx3ws6s
      @user-jp8bx3ws6s 11 месяцев назад

      Такие библиотеки как ErrorOr и Result позволяют возвращать список ошибок. Вполне можно провалидировать всю сущность и вернуть коллекцию ошибок + даже без использования библиотеки это можно реализовать

  • @Fikusiklol
    @Fikusiklol 11 месяцев назад +1

    Спасибо большое за доклад :)
    Показалось немного странным решением выносить валидацию в AbstractValidator, который скорее всего будет проверяться в каком нибудь пайплайне медиатора только ради того, чтобы потом при создании еще раз провалидировать то же самое при фактическом создании обьекта абсолютно таким же образом)
    Я пока только новичок, но в чем плохо преимущество использования отдельно FluentValidation с их нормальным синтаксисом, ошибки которого возвращает нормальный список ошибок всей валидации Command и как последний эшелон защиты - уже саму валидацию в доменной модели без вот этих проверок на Result.IsFailure?
    Ну кроме разве что некоторого количества дубляжа кода, который похож по смыслу и небольшого overhead в поддержке двух мест для валидации (domain model и abstractvalidator)?

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

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

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

    а бизнес правила как оформлять в валидацию?

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

    Спасибо за доклад! А почему объекты новые мы создаём через метод Create, а не через конструктор(ы) ?

    • @vasqainferno583
      @vasqainferno583 Месяц назад +1

      идея в том, что мы хотим вернуть результат создания Success/Fail, конструктор это не даст сделать, там можно только с исключением упасть

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

    так и не понял чем отличается VO от Доменного объекта.
    у доменного объекта тоже по сути нет идентификации (id) но эта индификация скалдывается из уникального набора данных (например серия и номер паспорта), но все таки это не ид. И если мы получим 2 граждан с одинаковыми серией и номером паспорта значит это один и тот же гражданин. но все таки граждананин, например, не VO (насколько я понимаю)

    • @timur43378
      @timur43378 9 месяцев назад +1

      А чем номер паспорта не уникальный id? Как раз уникальность VO складывается из данных и могут существовать одинаковые VO, а одинаковых энтити не может быть

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

    Приветствую, в заглавии ролика написано Validaton без i

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

      Спасибо! Поправим

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

      @@archdays ещё если есть возможность сообщите автору что на 49 странице опечатка. Пункт Инварианты.

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

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

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

    про имя студнта в 25 символов "ф1утотй1381" валидное имя ? :)

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

    Спасибо за интересный эфир! А где производить валидацию, если это примитивный тип?