212 похожих чатов

Ок. Если мы делаем доменные сущности иммутабельными, то чем заменить

репозитории?

13 ответов

22 просмотра

как вы логич связь такую провели? репозитории для того, чтобы чинхронизации стейта приложения, причем тут иммутабельность сущностей?

Alexander- Автор вопроса
Максим Федоров
как вы логич связь такую провели? репозитории для...

UoW + Репозитории, предполагают, что объекты мутабельные. Достали объект из репы, отредачили, uow сделал свою работу

А зачем их заменять? Репозитории работают точно так же, просто изменение сущностей происходит через копирование (на самом деле компилятор часто опускает копирование, но это не меняет сути)

Alexander
UoW + Репозитории, предполагают, что объекты мутаб...

Скопировали сущность из репозитория, сделали нужные операции, заменили изначальную сущность в репозитории

Алексей
Скопировали сущность из репозитория, сделали нужны...

если заменил изначальную, то в другом потоке проблемы будут

Чем хочешь, назови это персистер, гецтвей, оно главное что б снаружи было иначе нет смысла все это желатьн

Алексей
А зачем их заменять? Репозитории работают точно та...

У репозитория по хорошему нет save. Это коллекция без итератора

Sergey P
У репозитория по хорошему нет save. Это коллекция ...

В таком случае заменяем save на list.replace Суть примерно та же

Alexander- Автор вопроса
Sergey P
Чем хочешь, назови это персистер, гецтвей, оно гла...

Мой вопрос изначально был про то есть ли аналог понятия imperative shell / functional core для ооп. Как я понял его можно применять в ооп, но при условии что объекты иммутабильные. Но если объекты иммутабильные то тот же патерн репозитория можно смело выбрасывать. Потому что он предназначен для кейса с мутабельными объектами. Итого. Получается нет аналога такого понятие. Эрик Эванс, Роберт Мартин, Мартин Фаулер все пишут про изоляцию предметной области, и, это отличается от functional core.

У тебя в целом почему-то есть какая-то бд в уравнении

если эти нюансы начинают влиять на дизайн - значит абстракция не выходит - значит что-то пошло не так

потому и говорю - возможно сама абстракия не сильно помогает. По факту эта абстракция работает когда мы воспринимаем приложение как однопоточное приложение без проблем с конкурентным доступом. Ну или получение объектов из коллекции вызывает блокировку других потоков.

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта