Https://Youtu.Be/EvVSxVzFEUg?T=904. Что-То подобное из видео или ограниченный контекс в ddd.

11 ответов

23 просмотра

Да, можно разложить конфиги по разным файликам для каждого модуля в таком виде

Махмуд- Автор вопроса
Махмуд- Автор вопроса

Эксепшены не будут на одинаковые ключи в файлах? Например мне для каждого модуля нужен свой ViewRenderer с разными путями до views и layout?

Махмуд
Эксепшены не будут на одинаковые ключи в файлах? Н...

Будут. Это модульный контейнер под такое нужен, а этого пока нет.

Вот чтобы не приходилось следить) Минус ответственность на ревью.

Viktor
Вот чтобы не приходилось следить) Минус ответствен...

Тут надо смотреть на реализацию 🙂 На сколько эта доп. сложность будет стоить этого

Махмуд- Автор вопроса

В моем понимании модули должны быть по возможности изолированы и взаимодействовать друг с другом только через карту контекстов(ANTICORRUPTION LAYER, SHARED KERNEL и тд.) В некоторых случаях полной изоляции добиться будет сложно, как в реализации, так и в соображениях производительности. Если классу одного модуля необходим доступ к классу другого, главное чтоб класс был собран с конфигами своего модуля. В модулях можно создать классы, которые будут служить точкой входа(api) для других модулей, это может быть класс UseCase(Service). Контейнер можно настроить чтоб давал доступ только через такое api к модулю, или же все же оставить на усмотрение разработчику. Я пока думал над настройкой модуля, о проблемах взаимодействия между модулями пока не задумывался.

Это ты, конечно, правильно говоришь. Но так сильно изоляцией я заморачиваться не планировал, только разделить на модули и предоставлять/закрывать доступ из одних модулей к другим. Конечно, на new ClassName() это не повлияет, только на внедрение зависимостей :) А вот делить внутри модуля на слои и давать доступ только к одному из них... Подумать можно, но на первый взгляд это усложнит код контейнера слишком сильно, получаемый профит того не стоит. А насчет настройки - я хочу сделать как оно сейчас в yiisoft/config, только не одним блоком задавать настройки, а в несколько блоков, помодульно. Конфиги же при этом будут храниться в папке внутри модуля. Сейчас пришлю пример того, как я это вижу, вчера составлял.

Махмуд
В моем понимании модули должны быть по возможности...

Для отслеживания того, чтобы модули не использовали чужие классы можно использовать утилиту Deptrac

Махмуд- Автор вопроса
Viktor
Это ты, конечно, правильно говоришь. Но так сильно...

Не очень понял насчет изоляции контейнером. Имеешь ввиду для модуля собрать конфиги из своих конфигов модуля, конфигов другого или нескольких модулей и конфигов всего приложения?

Махмуд
Не очень понял насчет изоляции контейнером. Имеешь...

Я имею ввиду, что если у тебя есть структура модулей как в примере выше, то модуль cart не должен использовать классы, обявленные в customer или app. И поскольку контейнер знает иерархию эту, то он и не даст эти классы.

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

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

Объясните, пожалуйста, почему компилятор ругается на использование в условии неинициализированной переменной: int x; Task.Run(async () => { x = await somefunc(); }).Wait...
Александр
5
Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
Всем привет. Ребята, подскажите, пожалуйста. у ботов есть ограничение на отправку сообщений - 30 сообщений в секунду, эти ограничения накладываются на все сообщения? или на со...
Artem Stormageddon
4
Блин, ребята, сори за тупые вопросы. А можно ли как-то открыть вебапку по нажатию на кнопку в меню(которое появляется слева, команды)?
Artem Stormageddon
3
Коллеги, может знает кто, можно ли цвет бейджа счётчика в BackendMenu менять без бубнов?
Alex Blaze
3
Привет!) Кто как юзает переменные в строках?) Чисто ради интереса Вот так: echo "У меня {$bananasAmount} бананов"; Или вот так: echo "У меня ${bananasAmount} бананов";
Виталий
3
а плаксы из-под питона умеют только в комфортных условиях что-то выдавить из себя?)
Lencore
9
разработчик ботов скидывает портфолио, боты которые он уже создал. А вот как узнать что это именно он их создал?
Gosudar
4
Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
13
Это может быть все-таки не флудвейт? у меня ботфазер принимает изменения и отображает даже что они изменились, на видео видно что он прислал якобы уже измененное описание, н...
OVERLINK
13
Карта сайта