﻿# Беседа: 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, вот так.
