Size: a a a

2020 July 02

RK

Roman Kolesnev in pro.elixir
Я не спорю, работает. Но AR - это паттерн конкурент Repository. А тут ты реализуешь Repo через AR. Это тупо странно.
источник

RK

Roman Kolesnev in pro.elixir
Мне лень писать аргументы, вот этот тип что-то годное написал: https://www.mehdi-khalili.com/orm-anti-patterns-part-1-active-record
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Да, странновато. Поэтому я никогда так не делаю а просто херачу АР голый и все
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Скорость разработки у АР недостижимая скорее всего
источник

RK

Roman Kolesnev in pro.elixir
Ну и я про то. Используешь AR - мешай слои если cognitive load позволяет. Но если возникла необходимость в Repo - то пора расчехлять Ecto))
источник

RK

Roman Kolesnev in pro.elixir
Źmićer Rubinštejn
Скорость разработки у АР недостижимая скорее всего
Да
источник

T

Tharin in pro.elixir
Roman Kolesnev
Я не спорю, работает. Но AR - это паттерн конкурент Repository. А тут ты реализуешь Repo через AR. Это тупо странно.
Поэтому я не вижу НИКАКИХ проблем в .where в коде в бизнес логике
источник

T

Tharin in pro.elixir
Все разработчики код базу знают
источник

T

Tharin in pro.elixir
Все читать код умеют
источник

RK

Roman Kolesnev in pro.elixir
Tharin
Все разработчики код базу знают
когда это перестает быть истиной - Repo начинает быть выгоднее
источник

T

Tharin in pro.elixir
Нереализуемого ничего нет
источник

T

Tharin in pro.elixir
Если надо - создаёшь красивую абстракцию
источник

T

Tharin in pro.elixir
Roman Kolesnev
когда это перестает быть истиной - Repo начинает быть выгоднее
Почему? Вот этого никак не пойму. В чем проблема глянуть код, прочитать, что он делает, и ознакомиться?
источник

RK

Roman Kolesnev in pro.elixir
Время. Зачем мне тратить часы на осознание домена с высокой связностью, если я могу сконцентрироваться на контрактах отдельных слоев, которые мне могут даже изначально дать?
источник

T

Tharin in pro.elixir
Как какие-то метафизические контракты уровня DogsRepo.get_second_barking_dog помогут лучше, чем Dog.where(state: "barking").first(2).last
источник

RK

Roman Kolesnev in pro.elixir
Ну, например "нам в DAL нужен эффективный запрос на во это"
источник

T

Tharin in pro.elixir
Roman Kolesnev
Время. Зачем мне тратить часы на осознание домена с высокой связностью, если я могу сконцентрироваться на контрактах отдельных слоев, которые мне могут даже изначально дать?
Эх, кажется, без сто грамм я точно не разберусь) и без реальных примеров
источник

RK

Roman Kolesnev in pro.elixir
Tharin
Как какие-то метафизические контракты уровня DogsRepo.get_second_barking_dog помогут лучше, чем Dog.where(state: "barking").first(2).last
Если ни один инженер в компании не знает проект целиком - да
источник

RK

Roman Kolesnev in pro.elixir
Tharin
Эх, кажется, без сто грамм я точно не разберусь) и без реальных примеров
Почитай статьи Фаулера. Я на самом деле его идеи транслирую.
источник

T

Tharin in pro.elixir
Добро.
источник