Добавил в закладки. Один момент хотел уточнить, разве правильно все эти сервисы и репозитории пихать в домен (в папку domain в данном случае)?
Сам пока разбираюсь со всем этим. Мне нравится verical sliced подход, где мы объединяем все слои внутри одной бизнес-сущности, то есть services/, api/, domain/ внутри какого-нибудь User/
Ну это плохо, потому что домен не должен зависеть от внешних библиотек (имеется ввиду, которые не входят в стандартную библиотеку). Также у тебя домен еще и берет на себя функцию валидации, такого не должно быть.
Лучше у ИИ спросить, я пока сам не сказать что гуру. Сам тоже пишу, но в домене dataclasses использую.
Так Pydatnic же для DTO нужен, dataclasses для доменного слоя. Не везде валидация нужна, в домене вообще лучше либо не использовать библиотеки, либо только из стандартной библиотеки Python (то есть как раз dataclasses или attrs)
Кстати сейчас msgspec появился, выглядит как неплохая замена Pydantic
Статья норм, как ознакомительная, но там не всё так однозначно
А я бы сперва ОО-подход Мэтта Вайсфельда посоветовал
Абстракция и интерфейс разные понятия в ООП
Добавил в закладки. Один момент хотел уточнить, разве правильно все эти сервисы и репозитории пихать в домен (в папку domain в данном случае)?
Сам пока разбираюсь со всем этим. Мне нравится verical sliced подход, где мы объединяем все слои внутри одной бизнес-сущности, то есть services/, api/, domain/ внутри какого-нибудь User/
Да, согласен. Но я бы всё равно старался не использовать внешние библиотеки
Ну это плохо, потому что домен не должен зависеть от внешних библиотек (имеется ввиду, которые не входят в стандартную библиотеку). Также у тебя домен еще и берет на себя функцию валидации, такого не должно быть.
Лучше у ИИ спросить, я пока сам не сказать что гуру. Сам тоже пишу, но в домене dataclasses использую.
Так Pydatnic же для DTO нужен, dataclasses для доменного слоя. Не везде валидация нужна, в домене вообще лучше либо не использовать библиотеки, либо только из стандартной библиотеки Python (то есть как раз dataclasses или attrs)
Кстати сейчас msgspec появился, выглядит как неплохая замена Pydantic