VoiceRecord_Result/conversations/2026-09-11/beseda-20260911-1038.txt

565 lines
38 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Беседа: beseda-20260911-1038.txt
# файлов: 6; начало: 2026-09-11 10:38; конец: ~2026-09-11 11:08
## 2026-09-11/rec_20260911_103848.m4a (старт 10:38:48)
[00:00:00] Но выбор структуры – это достаточно простая штука.
[00:00:05] Для этого внутри базы не должно быть несколько хранилищ,
[00:00:12] одно и то же структуры.
[00:00:15] В принципе, если мы берем скривилайт, то оно так и напрашивается.
[00:00:18] То есть, если мы туда добавили таблицы про кульство,
[00:00:26] то они будут единственным экземплярием.
[00:00:28] Там не будет набора таблиц в прокус, в одном неймспейсе и в другом неймспейсе.
[00:00:34] Слоя базы.
[00:00:37] И поэтому сам репозиторик своей реализацией
[00:00:42] собственно и отражает выбор структуры в рамках базы данных.
[00:00:48] Понятно, да?
[00:00:51] Ну, еще раз напомню, откуда взялись родительские ID.
[00:00:56] Смотри, в чем прикол.
[00:00:58] В XML-документах, когда мы с ними работаем,
[00:01:03] мы иногда используем следующий прием.
[00:01:06] То есть, мы определяем какую-то XML-структуру универсальную
[00:01:13] и засовываем ее, где ее в разные объекты,
[00:01:18] то есть в разные места XML большого.
[00:01:21] Ну, например, мы определяем связи с требованиями в инструкциях.
[00:01:26] И вот этот блок в связи мы с уем отдельно в объекты.
[00:01:31] Risk Object, допустим, Work Item, это Roar,
[00:01:37] отдельно в Hazard Source, отдельно в Hazard Item,
[00:01:42] отдельно в Action Item, в мировоуправлении.
[00:01:48] То есть, одна и та же структура залетает в разные точки XML.
[00:01:53] И поэтому, чтобы нам на нее настроиться,
[00:01:56] нам нужно сначала передать родительские ID.
[00:01:59] И тогда в рамках него мы уже работаем с ID,
[00:02:03] так сказать, экземплярным.
[00:02:06] Ладно, короче, еще раз.
[00:02:09] То есть, поэтому мы не занимаемся выбором места структуры
[00:02:13] в рамках базы данных.
[00:02:15] То есть, считаем, что сама реализация репозитория
[00:02:19] она за это отвечает.
[00:02:21] То есть, у нас один репозиторий умеет работать с курсами,
[00:02:27] если ему дается connection на базу данных,
[00:02:31] то он однозначно может работать с курсами.
[00:02:34] И все, что ему нужно дальше, это датченик объект, три параметра.
[00:02:42] Вот, теперь посмотрим, как в риспрофе сделаны эти параметры.
[00:02:46] Они сделаны очень просто.
[00:02:48] Обратите внимание, что любой запрос на любую сущность
[00:02:53] сопровождается вершиной ID.
[00:02:56] То есть, это выбор документа,
[00:03:02] выбор корневой сущности,
[00:03:04] которая в нашем случае в риспрофе объединена с базой данных.
[00:03:10] То есть, один проект, один файл.
[00:03:14] Поэтому мы все запросы сопровождаем вершиной ID.
[00:03:18] И при этом мы не сопровождаем их где-то на уровне connection string.
[00:03:25] Мы сопровождаем их просто на уровне фильтров.
[00:03:29] Вот.
[00:03:34] Поэтому, вот, давай теперь обсуждаем, как все это дело разложить.
[00:03:38] Вот, вернемся к organization.
[00:03:40] Давай посмотрим два про две простых сущности.
[00:03:43] Organization и курса.
[00:03:46] То есть, organization может быть много.
[00:03:49] В рамках одного organization может быть много курсов.
[00:03:52] Вот мы можем это хранить все по отдельным файликам.
[00:03:57] Все organization вместе.
[00:04:00] Дальше, например, все курсы в рамках отдельного organization вместе.
[00:04:06] Потом все курсы вообще вместе.
[00:04:11] То есть, все organization вместе и все курсы разных organization вместе.
[00:04:15] Это самый плохой вариант.
[00:04:16] Но, тем не менее, технически он возможно.
[00:04:19] Вот.
[00:04:20] Он идет в разрез со стратегией разделяя backup по organization.
[00:04:28] Но, тем не менее, вот.
[00:04:29] И вообще все вместе organization и ее курсы вместе.
[00:04:33] А, давайте на реченистые рассмотрим.
[00:04:35] Organization отдельно, все курсы отдельно.
[00:04:39] Organization отдельно.
[00:04:41] Курсы по organization, по конкретному organization,
[00:04:45] внутри файла с самой организацией.
[00:04:49] Это второй вариант.
[00:04:50] И третий вариант.
[00:04:52] Все organization и все курсы в одном файле.
[00:04:58] Это надо зафиксировать.
## 2026-09-11/rec_20260911_104348.m4a (старт 10:43:48)
[00:00:00] Во всех трёх вариантов мы не смешиваем, если у нас в верхнего уровня объекта не смешаны, то мы ниже уровня объекта не смешиваем.
[00:00:09] Ну вот, теперь вопрос, как выглядят должны параметры у репозитория?
[00:00:15] Ну, у репозитория, правильно говоришь, например, мы можем чётко говорить.
[00:00:21] И, наверное, ещё важный вопрос, знаешь, какой здесь относительно параметров всё-таки?
[00:00:26] Насколько инфинансация объедков под каждый запрос в базуданных на Дарте?
[00:00:31] Это затратный ресурс.
[00:00:38] То есть, в целом, мне, как бы, сколько уже лет,
[00:00:42] больше десяти лет звучат слова коляна стакана
[00:00:48] про разработку мобильных приложений.
[00:00:52] В нашем случае, вецкое приложение можно считать в браузере мобильным,
[00:00:56] что ресурсы надо использовать максимально экономно.
[00:01:01] Поэтому, если можно работать с ингелтонами, надо работать с ингелтонами.
[00:01:06] Ну вот, если современные браузеры, например, позволяют память расходовать чуть более расточительно,
[00:01:15] то почему бы и нет.
[00:01:17] То есть, смотри, в чём прикол, мы доменные объекты создаём на каждый запрос, правильно?
[00:01:25] Да.
[00:01:26] Вот мы делаем выборку.
[00:01:29] В списке 100-100 объектов.
[00:01:34] Ну, я не знаю там курса, да, или там слайдов по курсу.
[00:01:39] И к нам прилетает большое количество слайдов.
[00:01:45] Ну, допустим, 100 слайдов.
[00:01:48] И мы создаём 100 объектов.
[00:01:50] Какой там вход написан по этим объектам?
[00:01:54] Дело десятая, да?
[00:01:56] Хотя тут, наверное, вопрос интересный.
[00:01:58] В этот аклад уже закапываться.
[00:02:00] В имплементацию, скажем так.
[00:02:03] Вот.
[00:02:05] Потом, ну, и мы считаем, что мы создаём 100 объектов, как минимум.
[00:02:12] Для слайдов.
[00:02:14] А теперь вопрос.
[00:02:16] А...
[00:02:18] Ну, а теперь вопрос.
[00:02:22] А почему мы тогда боисты создать один репозиторий?
[00:02:36] Не знаю.
[00:02:38] Вот.
[00:02:40] Наверное, не надо этого бояться, потому что я более чем уверен,
[00:02:45] что если все шарпи есть борьба за производительность,
[00:02:49] поэтому там есть структуры для того, чтобы это всё упаковывать,
[00:02:53] чтобы не упаковывать, не распаковывать, что влияет на скорость работы,
[00:02:57] то вот в языках, которые работают три браузера,
[00:03:02] там по-любому всё...
[00:03:04] Либо упаковывается всегда, либо не упаковывается никогда.
[00:03:09] Я не думаю, что там есть.
[00:03:11] Что там прямо так тяжело, так подошли к этому вопросу,
[00:03:14] что там будет борьба за производительность.
[00:03:16] Да-да-да, при этом обратим внимание.
[00:03:19] В репозитории там полей данных, как таковых,
[00:03:22] ну, практически нет.
[00:03:25] То есть мы там храним...
[00:03:27] Мы туда передаём по ссылке, либо, говоря, коннекшу.
[00:03:32] Понимаешь, да?
[00:03:34] Да.
[00:03:36] И поэтому... Ну, а если мы делаем так, то что нам это позволяет сделать?
[00:03:41] Это нам позволяет сделать немножко разгрузить интерфейс метода.
[00:03:46] То есть мы можем получить репозиторий.
[00:03:49] Готовый уже установленный внутри?
[00:03:52] Готовый, да, с установленными параметрами,
[00:03:54] с теми перед фабрикой репозиторий.
[00:03:57] Ну, всё.
[00:03:59] То есть здесь вот как бы...
[00:04:01] Тогда я просто того, чтобы искать распредельных,
[00:04:04] как делать интерфейс красивый.
[00:04:07] Вот.
[00:04:16] Ну вот, если мы говорим с тобой о связке,
[00:04:19] допустим, давай возьмём приземляну.
[00:04:21] Вот у нас связка организации, курс.
[00:04:23] То есть когда мы запрашиваем курс,
[00:04:26] по идее, по идее,
[00:04:29] мы всегда должны передать айдичнику организации.
[00:04:32] То есть это обязательный параметр.
[00:04:35] То есть, конечно, можно там...
[00:04:37] Не встал.
[00:04:38] Не встал.
[00:04:39] Вот смотри, Жень, подожди.
[00:04:41] Давай мы здесь посмотрим по-другому.
[00:04:43] Смотри, если мы храним что-то отдельным документом,
[00:04:48] то есть имеем возможность найти отдельный документ в отдельной базе.
[00:04:54] То есть я думаю, надо внести, наверное,
[00:04:56] в следующие понятия всё-таки.
[00:04:58] База данных...
## 2026-09-11/rec_20260911_104849.m4a (старт 10:48:49)
[00:00:00] экземпляр документов, 1, 2, 3, вот и в рантах этого
[00:00:06] кружать, то есть, документ эта структура, какая-то та или иная,
[00:00:10] экземпляр документов, это понятно дело, экземпляр
[00:00:14] данных по этой структури, сами данные, да, и, как бы,
[00:00:21] ну и базы данных это в плане, значит, вот смотри, если
[00:00:25] мы рассматриваем это все по отдельности, то мы приходим
[00:00:29] с собой следующего понятия, а, например, база знаний,
[00:00:36] она может использоваться в нескольких организациях,
[00:00:41] может, ну это масса решения какой-то, правильно?
[00:00:46] Как минимум база знаний, которая лежит в интернете,
[00:00:51] используется множеством организаций.
[00:00:53] Нет, база знаний в интернете это другое, да, то есть,
[00:00:57] короче, акмикс, ну вот в технических, может, использоваться
[00:01:02] в Ветху, сейчас мы пока не говорим про логику, да, что
[00:01:05] по логике, ну а почему?
[00:01:07] Нет, ничего, поэтому прикол того, что просто я общил
[00:01:10] кому-то, нам не нужно рассматривать, возможно, возможно, да,
[00:01:15] нам стоит чуть-чуть поменять свой взгляд от модели
[00:01:20] иерарстической на модель сетевую, то есть, что такое
[00:01:25] актическая модель, организация живут в Бэйде,
[00:01:29] курсы живут в организациях, база знаний живут в организации
[00:01:33] и все остальное живет тоже в организациях,
[00:01:36] то есть, получается, такая иерарсия объектов,
[00:01:39] а если мы говорим, что организация курсы или базы знаний,
[00:01:42] они к многим и ко многим, то, соответственно, у тебя
[00:01:46] вот эта вся байда разваливается, а она, когда разваливается,
[00:01:50] то что получается?
[00:01:52] Какой же главный вывод? Какой?
[00:01:54] А первый главный вывод такой, что ты не можешь,
[00:01:58] как бы, у тебя больше нет возможности иметь
[00:02:01] иерархические, локальные инвесторы объектов.
[00:02:05] Нет, ты можешь логически иметь, но физически
[00:02:10] ты должен к ним доступы иметь в каким-то другом способе.
[00:02:13] Нет, ну я что имею в виду, что у тебя организация
[00:02:16] хранит ссылки на клинцах, да, как бы,
[00:02:19] а база хранит ссылки на организации,
[00:02:21] а когда тебе надо получить?
[00:02:23] И поэтому, пока ты ковыряешься в рамках организации,
[00:02:26] то есть, вместе работаешь с базы данных организаций,
[00:02:29] конкретной, и имеешь несколько пульсов,
[00:02:32] о которых там нет.
[00:02:34] А теперь вопрос, а как к этому физку курсов
[00:02:37] получить доступ к другой организации?
[00:02:40] А если у тебя сто организаций, встигло?
[00:02:44] Да, и у тебя возникает еще база данных
[00:02:50] или как сущность, которая себе хранит ссылки?
[00:02:54] То есть, в массе должны быть ссылки?
[00:02:57] Да, то есть, мы приходим к необходимости
[00:03:00] глобального ревестра всех керневых сущностей
[00:03:06] и соответствующим однажды баз данных,
[00:03:09] которых они хранят.
[00:03:12] То есть, вот что, да, если мы меняем,
[00:03:14] взгляд, фейерархии и носить,
[00:03:16] то мы должны отказаться от локальных этих штук,
[00:03:20] то есть, изредие два,
[00:03:21] и перейти к глобальному некоторому ревестру.
[00:03:24] Но в нашем случае, все, конечно,
[00:03:26] все равно выпираются в глобальное рута-бригид,
[00:03:28] да, то есть, в глобальной керневой сущности.
[00:03:32] Это база.
[00:03:34] Вот какие выводы.
[00:03:38] А теперь, фишка какая,
[00:03:41] что если мы делаем универсальную инфраструктуру,
[00:03:45] то мы с тобой должны на уровне база
[00:03:50] управлять базами данных, акслайлами.
[00:03:57] Мы должны управлять документами,
[00:04:00] как структурами.
[00:04:03] Ну, по сути, это типизация.
[00:04:06] Мы должны управлять также, да, экземплярами,
[00:04:09] ну, то есть ссылками на экземплярами.
[00:04:14] Вот.
[00:04:15] И баз данных тоже должны быть типы.
[00:04:17] То есть, получается,
[00:04:18] если бы мы это представляли в видеобъектной модели,
[00:04:21] то мы бы это представили так.
[00:04:23] Есть база данных, база данных есть тип.
[00:04:27] Да?
[00:04:28] То есть, два параметра, да,
[00:04:29] по сути, тип и экземпляр.
[00:04:31] То есть, ты создаешь экземпляр база данных.
[00:04:34] Да, наверное, нет, даже, кстати,
[00:04:36] тебе надо...
[00:04:38] Смотри, на верхнем уровне
[00:04:40] мы же будем создавать база данных, правильно?
[00:04:43] База данных должны создаваться из шаблона.
[00:04:48] Так?
[00:04:49] Шаблон.
[00:04:50] Вот.
[00:04:51] А возможно, возможно, это не так должно быть.
[00:04:54] Возможно, должны быть типы база данных,
[00:04:56] а потом должны быть шаблоны какие-то.
[00:04:59] Шаблоны чего?
## 2026-09-11/rec_20260911_105350.m4a (старт 10:53:50)
[00:00:00] Документы
[00:00:02] И мы говорим, да то есть
[00:00:04] В принципе у шаблона
[00:00:06] должна быть какая-то типизация
[00:00:08] по типу базы данных
[00:00:10] Если у тебя шаблон например
[00:00:12] XML, то это одна фигня
[00:00:14] А если это шаблон
[00:00:16] SQL, то это другая фигня
[00:00:18] И дальше ты говоришь
[00:00:20] Создай-ка мне экземпляра
[00:00:22] с L3 базы
[00:00:24] Вот
[00:00:26] Создай-ка мне
[00:00:28] экземпляра с L3 базы
[00:00:30] И накатим на него
[00:00:32] вот этот вот шаблон
[00:00:34] То есть, что такое шаблон?
[00:00:36] Это
[00:00:38] инициализирующие SQL-скрипты
[00:00:40] И говоришь
[00:00:42] Ну, это если мы идем
[00:00:44] к сторону того, что мы можем
[00:00:46] гибко
[00:00:48] гибко комбинировать
[00:00:54] в рамках
[00:00:56] файлок
[00:00:58] разной сущности
[00:01:00] На самом деле
[00:01:02] вот эта гибкая комбинация
[00:01:04] она зачем нужна?
[00:01:06] Она нужна для того, чтобы
[00:01:08] в будущем
[00:01:10] иметь возможность
[00:01:12] подстроиться под ситуацию
[00:01:14] То есть, не принимать решения сейчас
[00:01:16] В принципе, мы можем сразу принять
[00:01:18] все решения и эту гибкость не иметь
[00:01:20] И иметь более жесткое решение
[00:01:22] означает более эффективное
[00:01:24] Я так скажу
[00:01:26] Какая-то гибкость должна быть заложена
[00:01:28] Ну, если она не мешает
[00:01:30] Вот смотри, в чем приход
[00:01:32] Если мы говорим про
[00:01:34] накатывание
[00:01:36] шаблона документа на базу
[00:01:38] то есть, закладываем максимальную гибкость
[00:01:40] То есть, должна быть процедура
[00:01:42] накатывания
[00:01:44] и так далее
[00:01:46] А если мы говорим про
[00:01:48] то, что у нас
[00:01:50] базы жестко разделены
[00:01:52] мы можем иметь уже сразу
[00:01:54] прототип
[00:01:56] То есть, объект, который
[00:01:58] создает подтопие
[00:02:00] экземплярах
[00:02:02] В вашем случае, это уже готовый сейт-при-файл
[00:02:04] который мы просто копируем
[00:02:06] и в машине не работаем
[00:02:08] Понимаете, да?
[00:02:10] Можно вот так, можно вот так
[00:02:12] Ну, в общем, мне кажется, через шаблон двигаться
[00:02:14] Ну, в смысле, через готовый
[00:02:16] экземпляр базы данных
[00:02:18] Ну, просто копируем
[00:02:20] У тебя процедура копирования
[00:02:22] соответственно к файлу
[00:02:24] которая более надежная
[00:02:26] всем процедура накатывания
[00:02:28] шпилькор
[00:02:30] Базара-то нет
[00:02:32] Поэтому еще раз
[00:02:34] Я сейчас про то, что вот смотри
[00:02:36] То есть, нам надо разработать
[00:02:38] или базы Беннис
[00:02:40] структуру, которая бы
[00:02:42] описывала вот эти все штуки
[00:02:44] А для этого, нам надо, наверное,
[00:02:46] для нашего вот этого
[00:02:48] менеджера
[00:02:50] коннекторских менеджер
[00:02:52] как разформулировать, какой
[00:02:54] его должен быть интерфейс
[00:02:56] То есть, какие манипуляции
[00:02:58] он должен поддерживать
[00:03:00] И второй, нам надо
[00:03:02] Просто нам нужно
[00:03:04] без этих самых
[00:03:06] без простыней
[00:03:08] Вот и, да?
[00:03:10] Нам нужно вот руками
[00:03:12] сформулировать
[00:03:34] Так, вот
[00:03:36] Я говорю, что нам нужно
[00:03:38] без простыней просто
[00:03:40] и, значит, менеджер
[00:03:42] не на экземпляре-репизиториях
[00:03:44] какого-нибудь забористого-то
[00:03:46] А вот
[00:03:48] Пусть это будет Workplace
[00:03:50] Какой-нибудь репизиторий
[00:03:52] Вот
[00:03:56] И тогда мы поймем, да?
[00:03:58] То есть, какие операции должен выполнять
[00:04:00] А, значит,
[00:04:02] Database-менеджер
[00:04:04] То есть, у него должны быть манипуляции с базами
[00:04:06] там инстанцирования
[00:04:08] репизитория, наверное, да?
[00:04:12] Это сам, хотя, может быть, репизиторий
[00:04:14] Может быть, это будет
[00:04:16] отдельный класс
[00:04:18] То есть, там я бы просто
[00:04:20] занялся бы именно вот вопросами
[00:04:22] То есть, мы нужно две вещи
[00:04:24] Нужно иметь диаграмму классов
[00:04:26] То есть, структуру
[00:04:28] Как она будет выглядеть
[00:04:30] И нужно иметь
[00:04:32] именно диаграмму классов
[00:04:34] вот таких вот
[00:04:36] оперативных, то есть, инфраструктурных
[00:04:38] классов
[00:04:40] И надо все-таки оттолкнуться
[00:04:42] диаграммы оперативные
[00:04:44] Что мы хотим делать
[00:04:46] Да, то есть, можно даже взять
[00:04:48] какую-то сущность накинать
[00:04:50] за одну, ну, примеру
[00:04:52] маленький, простенький
[00:04:54] И тогда мы с тобой получим
[00:04:56] полную картину
[00:04:58] А как это должно быть?
## 2026-09-11/rec_20260911_105851.m4a (старт 10:58:51)
[00:00:00] демонстрационная, прикладная модель, т.е. документ, т.е. структура документа
[00:00:06] то есть, наверное, даже нужно две структура документа
[00:00:09] какие-то простенькие
[00:00:11] вот
[00:00:12] ну, чтобы мы могли вот это вот все понять, как мы будем другом
[00:00:17] будем женить, т.е. нам нужны структуры хранения методанных
[00:00:21] про база данных
[00:00:23] и нам нужны, соответственно,
[00:00:25] получается,
[00:00:26] два
[00:00:29] вот и нам нужны два уровня классов
[00:00:32] императивных, т.е.
[00:00:34] это, соответственно,
[00:00:38] инфраструктурованные классы
[00:00:40] и
[00:00:42] и классы
[00:00:45] репрезидориях, т.е. у нас четыре
[00:00:48] с тобой этих момента
[00:00:51] ну, т.е. у нас две модели,
[00:00:53] т.е. не эта модель
[00:00:55] прикладная
[00:00:57] и два набора классов
[00:01:00] один набор классов, т.е. это репрезидорий
[00:01:02] а второй это
[00:01:04] т.е. коннекшн-менеджер
[00:01:07] ну, там, может быть, и не один класс советского
[00:01:09] я просто так называю
[00:01:11] с обобщением
[00:01:26] да, да
[00:01:28] ты начинаешь просто их отдельно
[00:01:30] то есть, в принципе, их можно накидать либо в парате
[00:01:33] либо накидать их прямо там
[00:01:35] ну, на дарте, наверное, нам их смысла
[00:01:37] нет накидывать, лучше накидать их
[00:01:39] либо на сейшарте, либо просто в планте
[00:01:41] с дневництым кругом
[00:01:49] два, ну, я вот с подструктором
[00:01:51] подозреваю все, что это может быть
[00:01:53] один или несколько классов
[00:01:55] два, инфраструктурных классов, опять-таки
[00:01:57] я подозреваю, что это может быть
[00:01:59] один или несколько классов
[00:02:01] можно просто сесть и на сейшарте
[00:02:03] наводить, т.е. тоже вариант нормальный
[00:02:05] т.е. он, может быть, даже для нас
[00:02:09] с тобой лерьте понимаем
[00:02:11] мозгами
[00:02:13] вот, и тогда мы с тобой придем к чему
[00:02:15] мы придем к тому, что у нас
[00:02:17] все так вот
[00:02:19] на запад вступить, т.е. какая должна быть
[00:02:21] на выходе история
[00:02:23] т.е. мы говорим
[00:02:25] а дайка нам репозитолии
[00:02:27] вот
[00:02:29] такой-то
[00:02:31] снаружи мы говорим
[00:02:33] и даем, наверное, корневую сущность
[00:02:35] какую-то
[00:02:37] по методанам для корневой сущности
[00:02:39] она осуществляется в поиск
[00:02:42] где она лежит
[00:02:44] и репозитолию
[00:02:46] дается все нужные параметры
[00:02:48] т.е. репозитольник корневой сущности
[00:02:50] он тоже может
[00:02:52] передаваться в кондексами в этом случае
[00:02:54] понимаешь, да?
[00:02:59] вот
[00:03:04] т.е. он просто должен быть
[00:03:06] не расписан по этим самым
[00:03:08] а как-то
[00:03:10] унифицирован
[00:03:12] именно поля
[00:03:14] репозитолия начинает работать
[00:03:16] внутренним содержимом
[00:03:18] у тебя
[00:03:20] репозитолия должен уметь работать
[00:03:22] в парантоидии
[00:03:24] и энтити-идии
[00:03:26] это из него уровня
[00:03:28] т.е. парантоидии
[00:03:30] и энтити-идии
[00:03:32] эти самые нижние
[00:03:36] парантоидии
[00:03:38] соответственно, руд
[00:03:40] агрегеет
[00:03:42] дозмен
[00:03:44] может работать
[00:03:46] коннекшн-менеджер
[00:03:48] и он должен
[00:03:50] знать
[00:03:52] какого
[00:03:54] типа документа
[00:03:56] в принципе тоже уровень репозитоля
[00:03:58] доктай
[00:04:00] просто его сама реализация
[00:04:02] она
[00:04:04] т.е. тип документа
[00:04:06] он харкодится
[00:04:08] внутри репозитоля
[00:04:10] работать с ним
[00:04:12] как-то пошивается
[00:04:14] прошивка
[00:04:16] а вот руд агрегеет
[00:04:18] и деби
[00:04:20] пас
[00:04:22] да
[00:04:24] вот эта штука
[00:04:26] она лежит соответственно
[00:04:28] ну, наверное, может быть даже не деби
[00:04:30] пас, а я бы наверно все-таки
[00:04:32] рассматривал деби-идии
[00:04:34] то, что по деби-идии
[00:04:36] т.е. это вот у нас
[00:04:38] некий
[00:04:40] уровень
[00:04:42] не коннекшн-менеджера
[00:04:44] а как мы это назовем
[00:04:46] руд агрегеет менеджера
[00:04:48] пока так я назову его
[00:04:50] и где-то должен быть
[00:04:52] деби-менеджер
[00:04:54] а он оперирует
[00:04:56] деби-идии
[00:04:58] и деби-идии
## 2026-09-11/rec_20260911_110351.m4a (старт 11:03:51)
[00:00:00] То есть, я в общем виде это так называю вот так, но потому что у тебя может быть разность
[00:00:07] connection не только в виде пути, а вот это у нас репозитория. Вот получилось 3 уровня, как бы, как
[00:00:16] мы работаем. Соответственно, с точки зрения прикладного кода, у нас должен быть root
[00:00:22] aggregate ID и мы обращаемся к кому-то, например, в какой-нибудь репозитории factory,
[00:00:29] мы обращаемся и говорим, а вот для вот этого root aggregate ID, дай коннексон.
[00:00:45] А root aggregate ID это что? Организейшн ID, пожалуйста. Организейшн ID.
[00:00:56] Ну, привет. Ну, давайте скажу, например, смотри, root aggregate ID это
[00:01:03] соответственно организейшн, парант ID это, например, рабочее место и entity ID, например,
[00:01:17] ID из грязи рабочего места и кульса, например.
[00:01:23] То есть, root aggregate ID это, фактически, точка определения. Это документ. Вы
[00:01:31] можем назвать это, это ID экземпляра документа. Смотри, следующий вопрос. Он же
[00:01:45] требует собой сопровождение типа или тип будет определяться уже в табли в базе
[00:01:52] данных бейс. Ну вот он в root aggregate manager. Ну, давай я уберу, вот вообще,
[00:01:58] терминологию про root aggregate и я заменю ее на документ manager. Документ manager.
[00:02:05] Соответственно, у него документ ID, да? То есть, грубо говоря, получать следующее.
[00:02:11] То есть, учитывая то, что, то есть, мы опираемся на то, что у нас ID-шники всех
[00:02:19] документов, независимости от их структуры, они уникальны. То есть, соответственно, когда мы
[00:02:25] обращаемся в документ manager и говорим, дай мне документом, как db connection или там.
[00:02:34] Ещё, мы с точки зрения прикладного кода обращаемся в root в репозитории factory.
[00:02:41] Вот, вы куда обращаете? A root factory обращается в документ manager с одной стороны,
[00:02:52] а потом оно обращается в, соответственно, db manager, а потом оно обращается, соответственно,
[00:03:01] всё, и оно возвращает репозиторию к себе. А дальше прикладной код обращается,
[00:03:12] дай я тебя сейчас в цифре первым подпишу и картинку пришлю, я тут уже рисовал на
[00:03:15] доске. А между, между получается документ manager и db manager, что документ manager отдаёт
[00:03:24] db manager, чтобы получить connection. То есть, я понимаю, он определил тип объекта, но...
[00:03:30] Ну, давай я напишу параметры, вот смотри, значит, когда мы обращаемся в root factory,
[00:03:36] мы передаем параметр документа ID. Когда root factory обращает, значит,
[00:03:48] репозиторию factory обращается в db manager, она передаёт документ ID, потом она обращается,
[00:03:55] соответственно, в db manager она передаёт db ID, да, а потом, когда она обращается уже,
[00:04:03] соответственно, сейчас я тебя тут прям в красоту рисую, вот, уже когда мы обращаемся потом к
[00:04:27] репозитории, мы передаём, соответственно, этот самый, ну, по сути, мы передаем connection и
[00:04:38] параметры ID, и эти эти, ну, параметры. Вот, вопрос возникает, передаём ли мы потом ещё репозиторию
[00:04:50] дополнительно документ ID? Ну, почему нет? Он просто должен быть созданным в connection.
[00:04:56] Репозитория factory, вот так.