Size: a a a

Software Design/Architecture/Zen

2020 October 21

DE

Dmitry Eliseev in Software Design/Architecture/Zen
Андрей Ява
Коллекция - структура данных. Хранилище - это хранилише.
А репозиторий – это хранилище, притворяющееся коллекцией.
источник

SB

Sergei Baikin in Software Design/Architecture/Zen
Максим Федоров
Про «подняла агрегат» мы и обсуждаем
так люди обсуждают как его использовать
я же говорю что можно не использовать а стандартной рабте

Это как UOW типа он как бы есть но его напрямую не используют и часто о нем даже не знают

Ну и плюс когда у вас просто метод достать сузность по ID я ба не сказал что это особо репозиторий какойто
источник

АЯ

Андрей Ява in Software Design/Architecture/Zen
Dmitry Eliseev
А репозиторий – это хранилище, притворяющееся коллекцией.
Ну типа аналог IRL - это  склад и ящик яблок.
Ты можешь сложить яблоки на склад, можешь достать их, можешь продать ящик яблок
источник

АЯ

Андрей Ява in Software Design/Architecture/Zen
Но склад ты не продашь.
источник

DE

Dmitry Eliseev in Software Design/Architecture/Zen
Андрей Ява
Ну типа аналог IRL - это  склад и ящик яблок.
Ты можешь сложить яблоки на склад, можешь достать их, можешь продать ящик яблок
Суть придумывания репозитория – сделать такую штуку, которая хоть и будет внутри ходить в БД, но снаружи для удобства будет выглядеть как обычная коллекция с теми же методами add, get и remove. Это и подразумевается под collection-like storage. Хранилище с интерфейсом коллекции.
источник

АЯ

Андрей Ява in Software Design/Architecture/Zen
Ну коллекция конкретная. Три ящика яблок - это три коллекции а не одна колллекция в трёх состояниях
источник

АЯ

Андрей Ява in Software Design/Architecture/Zen
А хранилише общее.
источник

АЯ

Андрей Ява in Software Design/Architecture/Zen
Ну и да. Основное отоичие всё же - коллекция это структура данных, с которой можно работать. Хранилище выдаёт данные.
источник

АЯ

Андрей Ява in Software Design/Architecture/Zen
Но в мире программирования всё размазано
источник

АЯ

Андрей Ява in Software Design/Architecture/Zen
И коллекция может выполнять роль хранилища, а хранилищу можно навешать функционал коллекции
источник

DE

Dmitry Eliseev in Software Design/Architecture/Zen
Андрей Ява
И коллекция может выполнять роль хранилища, а хранилищу можно навешать функционал коллекции
Тогда и получится репозиторий. Хранилище с функциональностью коллекции.
источник

АЯ

Андрей Ява in Software Design/Architecture/Zen
Нет. Коллекция - это набор данных. А репозиторий - место где эти данные хранятся
источник

АЯ

Андрей Ява in Software Design/Architecture/Zen
Ты можешь передать коллекцию к примеру на рендер. Но ты никогда не будешь передавать репозиторий.
источник

АЯ

Андрей Ява in Software Design/Architecture/Zen
Ну хотя и такие случаи бывают
источник

RS

Roman Shandur in Software Design/Architecture/Zen
Так а если они под одним интерфейсом спрятаны?)
источник

RS

Roman Shandur in Software Design/Architecture/Zen
клиентскому коду всё-равно ведь будет.
источник

AP

Artem Prosvetov in Software Design/Architecture/Zen
Андрей Ява
Ты можешь передать коллекцию к примеру на рендер. Но ты никогда не будешь передавать репозиторий.
А в чем проблема? Ну кроме того, что все данные в память не поместятся
источник

DT

Dmitriy Tkachenko in Software Design/Architecture/Zen
Dmitry Eliseev
Коллекция в той же Яве – это класс Collection с методами add, get и remove.
Её можно расширить и добавить getbyid
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Nik Komarov
Команды и запросы
Ты сча походу путаешь чуть
источник

АЯ

Андрей Ява in Software Design/Architecture/Zen
Artem Prosvetov
А в чем проблема? Ну кроме того, что все данные в память не поместятся
Ни в чём. Это просто разные сущности, хоть и похожи.
источник