@oop_ru

Страница 732 из 785
Adel
31.08.2018
12:18:25
ну... а оно там точно требуется? :)

Миша
31.08.2018
12:18:38
меня так бесят названия функции на пол экрана из-за всяких by

Google
Adel
31.08.2018
12:23:16
greg
31.08.2018
14:58:11
/

Nikita?️‍?
01.09.2018
12:55:56
как выбрать во фряхе место располежния кучи? нужно чтобы она была внизу адресного просрансва, но выше стека и кода.

Nikita?️‍?
01.09.2018
13:07:01
Adel
01.09.2018
13:07:15
ты читай про что чат прежде чем вопрос то задавать

суббота сегодня :)

Panda
01.09.2018
13:07:34
уже суббота

Adel
01.09.2018
13:07:36
доброе утро :)

Nikita?️‍?
01.09.2018
13:10:00
это новый паттерн в вашем недоязыке?

Google
Nikita?️‍?
01.09.2018
13:10:30
На любой язык без синтаксических макросов.

Дмитрий
01.09.2018
13:13:02
это новый паттерн в вашем недоязыке?
А в вашем недоязыке это уже успело наскучить?

Nikita?️‍?
01.09.2018
13:13:39
Дмитрий
01.09.2018
13:14:43
у нас недоязыков нет.
От гипертрофии самооценки он не защитил

Nikita?️‍?
01.09.2018
13:16:29
От гипертрофии самооценки он не защитил
просто не у всех путь развития - Turbo Pascal, Delphi и 1C

Дмитрий
01.09.2018
13:17:00
Это не повод называть остальных недоязыками

Adel
01.09.2018
13:17:08
зачем стараться писать буквы если это все равно потрут...

Nikita?️‍?
01.09.2018
13:19:05
Это не повод называть остальных недоязыками
назвать ваш Turbo Cobol сверхязыком было бы лицемерием

Aleh
01.09.2018
13:20:05
Дайте мне обычный язык

Дмитрий
01.09.2018
13:20:22
Пацан поставил надстройку 1C.СВЕРХЧСВ а вы просто ему завидуете

Aleh
01.09.2018
13:23:09
Спасибо

Дмитрий
01.09.2018
13:23:52
?

Nikita?️‍?
01.09.2018
13:26:34
Common Lisp
может все таки Haskell?

Panda
01.09.2018
13:27:54
турбо хаскель

Дмитрий
01.09.2018
13:30:06
может все таки Haskell?
А вы продаёте или покупаете

Nikita?️‍?
01.09.2018
13:31:33
А вы продаёте или покупаете
я работаю по тех заданию

Aleh
01.09.2018
13:33:39
Дмитрий
01.09.2018
13:35:29
...

Aleh
01.09.2018
13:35:39
Ваш ответ не оч, попробуйте еще раз

Google
Dmitry
01.09.2018
13:42:03
а правильно ли я понимаю, что когда мне нужно добавить DO в базу, я делаю частично инициализированный DO (без уставновленного id, например) передаю его в registry.store(), а он, в свою очередь, передаёт этот DO DataMapper'у (или как его принято называть?) который сохраняет DO в базе и устанавливает id и не нужно передавать DO напрямую в DataMapper из сервисов

Dmitry
01.09.2018
13:46:35
а почему uuid, а не автоинкрементальный id?

Aleh
01.09.2018
13:46:53
do ж как раз про то, чтобы все это в одно место запихать, типа как active record, но только в базу умеет

а почему uuid, а не автоинкрементальный id?
Потому что для инкрементального надо в базу сходить

ну он же просто объект, а не ActiveRecord
Active record так-то тоже просто объект, у которого есть ссылка на connection/transaction :)

Dmitry
01.09.2018
13:50:52
ну я почему-то хочу обьект, который ничего не знает о способе своего хранения и отвязан от схемы базы данных. И lazy load мне пока не нужен. поэтому и цеочка do - registry - mapper - бд

Aleh
01.09.2018
13:52:55
Дурные термины(

Ну в общем стоит стремиться к тому, чтобы никто кроме самого объекта ничего не менял в нем и для id можно юзать uuid

Но конкретно в случае с id и сценариями, где все в одной транзакции можно использовать автоинкремент

Dmitry
01.09.2018
13:55:51
а когда я добавляю новый DO и хочу его сохранить, я делаю это через registry или напрямую через mapper?

Admin
ERROR: S client not available

Dmitry
01.09.2018
13:56:11
через mapper — некрасивая зависимость получается

Aleh
01.09.2018
13:56:37
Новый созданный объект обычно добавляется в некую коллекцию объектов

Google
Aleh
01.09.2018
13:57:02
Которая может быть персистентной разными способами

В ddd такие do называются корнями агрегата, а коллекции называются репозиториями

Которая может быть персистентной разными способами
Коллекция может использовать какую-то orm, например data mapper(hibernate/doctrine)

Dmitry
01.09.2018
14:00:51
получается, всё-таки в репозиторий правильно. и остальной домен не должен ничего знать про orm, которую использует репозиторий

Aleh
01.09.2018
14:00:52
Или она может подписываться на события объекта и персистить только их

Или искать/создавать dao для объекта и через него объект сохранять

Дмитрий
01.09.2018
14:01:37
Новый объект — это кстати вообще отдельная категория сущностей

Dmitry
01.09.2018
14:02:00
Aleh
01.09.2018
14:02:01
Плохо тоже плохое слово

более красиво?
Может сработать в большом числе случаев )

Sergey
01.09.2018
14:09:20
Ну в общем стоит стремиться к тому, чтобы никто кроме самого объекта ничего не менял в нем и для id можно юзать uuid
нормальная практика передавать id объекту на вход и получать его скажем из репозитория (например если тебе надо секвенсы юзать). Разумеется если у тебя богомерзские автоинкременты в стиле mysql (где ты можешь знать айдишку только после вставки) только uuid спасут тебя.

ну и да uuid тоже лучше передавать на вход а не в нутри сущности создавать, но... если очень лень)

главное что бы сущность валидной была

Sergey
01.09.2018
14:11:26
извне - да

если ты не ORM и тебе надо замэпить данные)

Aleh
01.09.2018
14:12:07
Дата маппер не меняет данные, сериализация/десериализация ж не делает переходы состояния

Sergey
01.09.2018
14:12:31
да, ну ты меня понял) я про то что есть разница между доступом и изменением)

Aleh
01.09.2018
14:12:44
Да, и ты меня понял)

Google
Aleh
01.09.2018
14:38:42
Новый объект — это кстати вообще отдельная категория сущностей
Да, если есть возможность типами описывать переходы состояний, то это обычно прям напрашивается. Другое дело, что у нас(в мире жава/пхп/шарп процедурщины) так не принято:(

Да и возможности язык/среда не дают особо

Дмитрий
01.09.2018
14:39:24
Разве ? Я ж наоборот упоминал штуку из кодгенерированных rpc

Страница 732 из 785