Pawel
да так есть чувак один Martin Fowler, чёрт какой то
я его не уважаю, а что он реально даёт определение ,что репозиторий - коллекция?
Maksim
но он такой не один, в принципе. Но это не важно
Alexey
ща те раскидают за Фаулера
Aleksey
А Golang Show всё? Или это временный перерыв?
Bohdan
> acting like an in-memory domain object collection
Алексей
я его не уважаю, а что он реально даёт определение ,что репозиторий - коллекция?
Да кто этот Роб Пайк вообще? Я его не уважаю. Да кто этот Дональд Кнут вообще? Я его не уважаю.
Maksim
ну, чувак фаулера не уважает. Явно кто-то оч умный скрывается за маской. Не макака, которая репозитории, сущности и базы данные пихает там, где персистанс игноранс, все дела)
Maksim
V
что вы «распукались» , господа?
Алексей
И вообще у Павла явно своё какое-то определение репозитория, которое конечно же лучше определения какого-то там Фаулера.
Алексей
Maksim
Ну я тоже не осилил. Тоже тупенький.
эт потому, что кнут говно)))
Anonymous
Алексей
эт потому, что кнут говно)))
Но Кнут не говно явно, он же человек. Просто его книжки несколько специфичны.
Pawel
Нет, Кнут крут. А фаулер и анкл боб - нет.
Maksim
Но Кнут не говно явно, он же человек. Просто его книжки несколько специфичны.
это стёб был на тему "я слишком тупой, что бы осознать, а поэтому чувака не уважаю") конечно же я не считаю, что проблема в том, как Дональд материал подаёт)
Pawel
я не точнобы определением оперирую., а практической так сказать реализацией на C#, с которой я сталкивался. Вот примерно так https://metanit.com/sharp/articles/mvc/11.php
Bohdan
только вот в стороне от того, кто крут, а кто нет: что же ты называешь репозиторием то, у чего есть четкое определение, написанное собственно тем, кто начал впервые использовать эту тему?
Bohdan
ай, опередил
V
вам же объяснили, что crud - это api базы -_-
Maksim
срамота
Maksim
когда джуниор пхпшник полез писать шарпе...)
Алексей
вам же объяснили, что crud - это api базы -_-
Ага, а если crud не для базы, а для коллекции в оперативной памяти, то это уже не crud. Ну по крайней мере по логие Павла.
Maksim
ну, тогда почитай вот это https://blog.byndyu.ru/2011/08/repository.html
забавно, товарищи даже разделение read & write зацепили. Древний холивар
Bohdan
Ага, а если crud не для базы, а для коллекции в оперативной памяти, то это уже не crud. Ну по крайней мере по логие Павла.
а разве база (если in-memory, допустим) - это не коллекция записей в оперативной памяти с плюшками для выборок? 🤔
Bohdan
при чём тут колеекция, что это за бред7
при том, что слово "коллекция" фигурирует в исходнике?
V
возможно стоит спросить Павла что такое коллекция
Alexey
да
ну тогда это)
Alexey
https://blog.byndyu.ru/2011/01/domain-driven-design-repository.html
Алексей
возможно стоит спросить Павла что такое коллекция
Возможно Павел подразумевает под коллекцией имплементацию или наследование специального интерфейса.
Pawel
при том, что слово "коллекция" фигурирует в исходнике?
да о какой вообще коллекции идёт речь? что-то типа слайса?
Maksim
не, у павла это просто ещё 1 бесполезный слой между базой и клиентом
Aleksandr
коллеги, репозиторий - это средство абстрагирования доменного слоя от непосредственно хранилища, предоставляющее collection like интерфейс. Это не то же самое что репозиторий = коллекция. Я бы даже сказал, что Павел прав
V
бывает, но Павел неправ
Bohdan
еще раз процитирую Фаулера я не говорю, что репозиторий = коллекция, нет да и вроде никто здесь такого не говорит но это никак не круд для сущности
Bohdan
> acting like an in-memory domain object collection
Алексей
да о какой вообще коллекции идёт речь? что-то типа слайса?
О коллекции в общем смысле, как о неком хранилище объектов с методами доступа к ним. Слайс, мэпы, репозитории - это всё в принципе можно назвать коллекциями.
Алексей
Видимо просто Павел не привык действовать на таком уровне абстракции.
Aleksandr
> acting like an in-memory domain object collection
"действующий как" - это не коллекция, это "представим как будто это коллекция", а что под капотом нас не интересует
Pawel
О коллекции в общем смысле, как о неком хранилище объектов с методами доступа к ним. Слайс, мэпы, репозитории - это всё в принципе можно назвать коллекциями.
ну то есть обо всём и ни о чём. Вот за это я и не люблю Фаулера - за не чёткие определения, не имеющие явного технического выражения
V
коллекция - это вполне себе корректный термин в программировании
Pawel
когда джуниор пхпшник полез писать шарпе...)
вот что ты несёшь? это был просто пример, показывающий общий подход к реализации репозитория. какая разница какой там сайт?
V
все сущее - коллекция -_\\
Pawel
коллекция - это вполне себе корректный термин в программировании
ну тоесть репозитории в программировании можно представить ввиде массива и мапы?
Bohdan
"действующий как" - это не коллекция, это "представим как будто это коллекция", а что под капотом нас не интересует
я не согласен с утверждением Павла про CRUD в принципе, это весь мой поинт коллекция - это не круд, если не притягивать за уши
Maksim
просто файлик, который почему-то зовётся *repository
Maksim
по моему ты гонишь
тебе явно виднее :)
V
репозиторий может инкапсулировать как и массив, так и мапу
V
так и обращения к БД
Bohdan
абстракция, определяющая апи базы. В ООП - в виде интерфейсов соотв.
Bohdan
нет, апи базы - CRUD операции над сущностями
Bohdan
про crud, как я понял, он вообще не про репозиторий говорил
вот, на чем я основываюсь это определение репозитория от Павла
Алексей
"действующий как" - это не коллекция, это "представим как будто это коллекция", а что под капотом нас не интересует
Ну вообще в первом приближении "действующий как коллекция" и "коллекция" это в принципе одно и то же. Потому что вообще само понятие "коллекция" - это уже абстракция. Правда абстракции частенько протекают, но это уже другая история.
Алексей
ну тоесть репозитории в программировании можно представить ввиде массива и мапы?
Нет. Массив и мапу можно представить в виде репозитория.
Maksim
массив, мапу, указатель, юникс тайм - что угодно
Pawel
отлично. А можно вкачстве итога этой офигеть какой полезной дискуссии приветси пример, иллюстрирующей реальную пользу от использования репозитория в качестве абстракции базы? не связанный с переносом приложения от одной субд к другой, или там от БД к веб данным
Maksim
ты сам понимаешь что несёшь?)
Pawel
я в самом начале разговора сказал, что таких не видел. Переходы подобные - редкость. И?
V
покрытие юнит-тестами бизнес-логики с использованием реализации репозитория в оперативной памяти
Pawel
ты сам понимаешь что несёшь?)
ну то есть по делу тебе сказать нечего
Maksim
ну то есть по делу тебе сказать нечего
да, просто ты явно не оч в курсе за тему, в которую полез. Жаль тот джун нарвался на такого, как ты :)