Тёмный

ИСПОЛЬЗУЙ ЭТО ДЛЯ БАЗЫ ДАННЫХ! ПАТТЕРН РЕПОЗИТОРИЙ В ПИТОНЕ 

Андрей Иванов | Python
Подписаться 20 тыс.
Просмотров 7 тыс.
50% 1

Андрей Иванов - Питон
Используйте мою ссылку в криптобирже OKEX и получите -10%:
www.okx.com/jo...
Мои курсы на UDEMY: www.udemy.com/....
Пожертвования: www.donational....
Github: github.com/knu...
Telegram канал: t.me/pypapyrus_ru
Другие Видео по Python: www.youtube.co....
Канал на английском языке: www.youtube.co....
Поставьте лайк и подпишитесь!
#Python #Питон #программирование #programming

Опубликовано:

 

24 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 27   
@sauvignonblanc5086
@sauvignonblanc5086 2 года назад
Может сразу записать туториал по чистой архитектуре на python?
@RCCopterChannel
@RCCopterChannel Год назад
А как же базовый класс репозитория общий для всех репозиториев ? Метод save зачем в этом классе ведь репозиторий это не про сохранение, надо только добавление и извлечение ? И главный вопрос как это тестировать без участия БД ? Тема репозитория не раскрыта
@cs_dequeue
@cs_dequeue 2 года назад
Полезное видео, спасибо!👍
@exe88cution
@exe88cution 2 года назад
Красиво, спасибо большое
@zapokami
@zapokami 6 месяцев назад
Спасибо, очень доступно
@АлексейДромов
@АлексейДромов Месяц назад
Если кратко, то используйте один из принципов solid - DIP. Как я понял он эквивалентен этому паттерну.
@magomedmagomedov9168
@magomedmagomedov9168 2 года назад
Гарри Персиваль ставит лайк
@sigmazetamale
@sigmazetamale 3 месяца назад
крутое видео, не нашел объяснения на java, пришел сюда. Единственное не понял отличия от dao при таком объяснении
@PythononPapyrusRU
@PythononPapyrusRU 2 месяца назад
DAO больше относится к конкретной таблице, а Repository к абстракции. То есть на DAO могут быть уникальные для конкретной модели функции, а в Repository нет
@AlexandrSpirit
@AlexandrSpirit Год назад
Очередной раз посмотрев, наконец-то вкурил. У меня в проекте слои роуты/фекторис/сервисы роуты - отвечают за роуты фекторис - бизнес логика сервисы - работа с БД (орм и т.д.) Переключение реализации. Скорее всего нужно использовать паттерн "стратегия". поверх слоя "репозитория". Например, у вас класс использует транзакции и ОРМ, а другой только SQL. Со стратегией будет проще переключиться
@david_shiko
@david_shiko 2 года назад
А есть пример кода где связаны все вместе, pydantic, sqlalchemy и repository ?)
@max_bstr
@max_bstr 2 года назад
Я могу ошибаться, но это же менеджеры моделей (в django)
@green1278dramost5
@green1278dramost5 2 года назад
Вопрос: обработку исключений, например, методу get() репозитория передан несуществующий ID, лучше выполнять в слое сервисов (services.py) ?
@PythononPapyrusRU
@PythononPapyrusRU 2 года назад
Лучше делать в сервисах, так как при исключениях идет какая-то логика
@green1278dramost5
@green1278dramost5 2 года назад
@@PythononPapyrusRU Благодарю
@TyurinOleg
@TyurinOleg 2 года назад
Привет! А как по твоему, корректно ли в репозиторий класть логику фильтрации? Например сделать метод list с параметрами вроде "возраст", " Город" И тд, и в этом методе реализовать базовый запрос "select * from table" И далее делать ифы на параметры для подстановки условий? If age: Query = query.where(user.age==age) Надеюсь суть вопроса понятна :-) Это же вроде как логика, но в тоже время относится к работе с данными..
@jcatstreams8550
@jcatstreams8550 10 месяцев назад
Есть паттерн помощник для репозитория, вот для таких случаев
@GliGlock
@GliGlock 2 года назад
Мега хорош
@AlexandrSpirit
@AlexandrSpirit 2 года назад
Может сразу пример на SQLAlchemy? Что бы начинающие могли переписать и сразу "ручками" попробовать в деле?
@PythononPapyrusRU
@PythononPapyrusRU 2 года назад
Скоро выйдет видео, нужно было про другие паттерны помимо репозитория рассказать
@AlexandrSpirit
@AlexandrSpirit 2 года назад
Вопрос: Если это абстракция для вынесения логики построения запроса. Можно ли сделать передачу модели и запроса для некоторых универсальных классов? Т.е. если есть запросы с фильтрами, одинаковыми для 1 и более моделей, то проще ведь сделать некий универсальный класс?
@PythononPapyrusRU
@PythononPapyrusRU 2 года назад
Я сделал видео про спецификации, нужно скорее их использовать: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-akHi_2IiclQ.html
@takiekakmi7532
@takiekakmi7532 2 года назад
Скорее проще написать абстрактный базовый класс, а вот уже потом писать какие-нибудь универсальные миксины... Это скорее всего так и будет примерно реализовано (либо мутить метаклассы имхо орм)))
@МатвейКоноплёв-б8ю
Вопрос: можно ли считать Managers в Django репозиториями? Вроде как я могу в менеджеры и весь crud единичной модели перенести, и разные query делать. Но встречаю очень много статей, где говорят, что в Django нет DDD, что в Django ActiveRecord. Можно ли считать, что я следую DDD, если все операции с бд у меня идут через менеджер (а в Django они именно через дефолтный менеджер идут как минимум)?
@PythononPapyrusRU
@PythononPapyrusRU 2 года назад
Скорее всего сделаю видео про это, но в Django очень сложно следовать DDD, а сам я не считаю что менеджеры это репозитории
@МатвейКоноплёв-б8ю
@@PythononPapyrusRU тогда буду ждать видос!
@ВасилийСоло
@ВасилийСоло Год назад
Не можешь, менеджеры для этого не предназначены, читай доку
Далее
Please Help This Superhero! 🙏
00:48
Просмотров 6 млн
НОВЫЙ РОЛИК УЖЕ НА КАНАЛЕ!
00:14
Просмотров 599 тыс.
Deep Dive Into the Repository Design Pattern in Python
11:56
Being Competent With Coding Is More Fun
11:13
Просмотров 71 тыс.
Please Help This Superhero! 🙏
00:48
Просмотров 6 млн